标题:线程的问题...就是控件
只看楼主
uatoily
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2007-4-6
 问题点数:0 回复次数:2 
线程的问题...就是控件

比如我想要一个随机数显示在lable上这个随机数一直在变..要怎么改?
我的意思就是
label1.Text = new Random().Next(10).ToString();

我的方法是这样的 我觉的错就是错在while(true)里..可不知道咋改? 要是去掉循环又可以.咋样可以while?
高手来帮帮忙了-_#...

public delegate void MyIoDele();
private void button1_Click(object sender, EventArgs e)
{
Thread T=new Thread(new ThreadStart(GetResult));
T.Start();
}
public void GetResult()
{
MyIoDele mi = new MyIoDele(RanNum);
this.Invoke(mi);
}
public void RanNum()
{
while(true)
{
label1.Text = new Random().Next(10).ToString();
}
}

搜索更多相关主题的帖子: 线程 控件 
2007-10-25 12:26
uatoily
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2007-4-6
得分:0 

刚想到了一个方法timer可以来完成
不过还是顺便问一下Invoke里可以不可以办到循环...就上面那问题?

2007-10-25 12:31
jxnuwy04
Rank: 2
等 级:新手上路
威 望:4
帖 子:768
专家分:0
注 册:2006-9-15
得分:0 

将this.Invoke(mi);改成这样的mi.BeginInvoke(null,null);,加上循环可以让它一直在变,但怎么停止我还没想到好办法。


------------------不为别的,就为你,我的理想!-----------------
2007-10-25 13:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-180660-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.212886 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved