0x过 发表于 2014-3-2 11:40:48

C#多线程中windows控件的调用

本帖最后由 0x过 于 2014-4-7 11:13 编辑

多线程中windows控件的调用, 我自己查了百度,都是说使用委托,然后进行invoke 方法进行调回原来的UI困惑了老半天终于有解决的方法!!!
首先参考了别人的代码:
         Thread t1;//声明一个全局线程
private void Form1_Load(object sender, EventArgs e)
{
t1 = new Thread(new ThreadStart(BackgroundProcess));
t1.Start(); //开始
}
delegate void aa();
private void BackgroundProcess()
{
// 将委托实例化
aa a= delegate()
{
for (int i = 0; i < 50; i++)
{
listBox1.Items.Add("Iterations: " + i.ToString());
Thread.Sleep(300);
listBox1.Refresh();
}
};
listBox1.Invoke(a); //调回原来的UI
}

0xAA55 发表于 2014-3-2 14:50:45

欢迎新人发帖!只不过,请把代码的Tab弄好,然后用【mw_shl_code】来显示代码。
页: [1]
查看完整版本: C#多线程中windows控件的调用