我创建了一个form1窗体,其中有2个控件,一个是label1,一个是button1;编写了以下代码
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Thread one = new Thread(new ThreadStart(suiji));
one.Start();
}
public void suiji()
{
transball p = new transball();
p.random(label1);
}
}
public class transball
{
Random x = new Random();
Label obj = new Label();
public void random(Label q)
{
obj = q;
do
{
obj.Text= x.Next(10).ToString();
Thread.Sleep(100);
}
while (true);
}
}
当运行的时候,我点button1,触发click事件,本应该每0.1秒在label1中产生一个随机数,结果跳出异常说:“关于线程间操作无效: 从不是创建控件“label1”的线程访问它。”label1是我在构建窗体的时候创建的,难道要我在线程里面去创建label1吗?
请问有什么解决办法吗?谢谢赐教