//填充List
private void AddItems()
{
for (int index = 0; index < 100000; index++)
{
this.lstTest.Items.Add(string.Format("Item {0}", index));
Thread.Sleep(100);//延迟100ms
}
}
//开始
private void btnStart_Click(object sender, EventArgs e)
{
Thread threadAddItems = new Thread(new ThreadStart(this.AddItems));
threadAddItems.Start();//List
}
//查看
private void btnLook_Click(object sender, EventArgs e)
{
MessageBox.Show(this.lstTest.Items.Count.ToString());
}
这样执行没问题 但我改成下面这样就不行
------------------------------------------------------------------
//填充List
private void AddItems()
{
for (int index = 0; index < 100000; index++)
{
this.lstTest.Items.Add(string.Format("Item {0}", index));
Thread.Sleep(100);//延迟100ms
}
}
//开始
private void btnStart_Click(object sender, EventArgs e)
{
Thread threadAddItems = new Thread(new ThreadStart(this.AddItems));
threadAddItems.Start();//List
}
//查看
private void btnLook_Click(object sender, EventArgs e)
{
Thread threadmessage=new Thread(new ThreadStart(Message);
}
private void Message()
{
MessageBox.Show(this.lstTest.Items.Count.ToString());
}
我把 查看显示Item数量 也写成了一个线程 这样为什么不行啊?
不是一个动作理解成一个线程吗?
|