【发布时间】:2012-01-13 11:09:00
【问题描述】:
我想每两秒更改一次列表框选定索引的索引。
public Form1()
{
InitializeComponent();
listBox1.Items.Add("A");
listBox1.Items.Add("B");
listBox1.Items.Add("C");
listBox1.Items.Add("D");
listBox1.Items.Add("E");
listBox1.Items.Add("F");
}
public void SelectEvery2Sec()
{
System.Windows.Forms.Timer timer=new System.Windows.Forms.Timer();
for (int i = 0; i < listBox1.Items.Count; i++)
{
timer.Start();
listBox1.SelectedIndex = i;
try
{
Thread.Sleep(2000);
}
catch{}
if(i == listBox1.Items.Count -1)
i = 0;
}
}
但是我们不能停止主线程。然后应用程序运行但我看不到 GUI。这不是正确的方式,所以我尝试下一种方式,即另一个线程。
那我再新建一个Thread但是不允许线程的交叉访问?
【问题讨论】:
标签: c# .net winforms multithreading timer