c# for循环 怎么样做才能让他隔一秒执行循环中的一步
答案:2 悬赏:50 手机版
解决时间 2021-01-03 23:49
- 提问者网友:夢醒日落
- 2021-01-03 17:51
比方说for(int i=0; i <8 ;i++){textBox1=i.ToString();} 在第一秒的时候textbox中显示0,过一秒,textbox中显示2,再过一秒 显示3 这样以此类推 各位大侠有什么好办法么?
最佳答案
- 五星知识达人网友:蓝房子
- 2021-01-03 18:33
1.可以用多线程做
private void Form1_Load(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(LoadForm));
t.Start();
}
private void LoadForm()
{
for (int i = 0; i < 9; i++)
{
Thread.Sleep(1000);
this.Invoke(new MyDelegate(SetRich), i.ToString());
}
}
delegate void MyDelegate(string str);//定义委托
private void SetRich(string str)//委托
{
textBox1.Text = str;
}
2.还可以用timer控件
private void Form1_Load(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(LoadForm));
t.Start();
}
private void LoadForm()
{
for (int i = 0; i < 9; i++)
{
Thread.Sleep(1000);
this.Invoke(new MyDelegate(SetRich), i.ToString());
}
}
delegate void MyDelegate(string str);//定义委托
private void SetRich(string str)//委托
{
textBox1.Text = str;
}
2.还可以用timer控件
全部回答
- 1楼网友:蕴藏春秋
- 2021-01-03 18:57
先执行 s=s+i;然后再判断i<=3? 其实你可以在for上加一个断点,调试跟踪一下就知道这程序是怎么走的了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯