您的位置:首页 > 其它

cs 界面多线程调用窗体控件

2011-09-24 23:27 537 查看
public object Invoke(Delegate method)

也就说,它所接受的是一个Delegate,那么,任何一个派生自Delegate的实例,都是可被接受的。我们知道,类似ThreadStart,MethodInvoker都派生自Delegate,那么编译器在转化这个匿名函数的时候,就不知道要将这个匿名函数转为ThreadStart还是MethodInvoker,于是报错。(代表一个委托函数的,还有ParameterizedThreadStart、WaitCallback、AsyncCallback等,只不过他们都是带有参数的。)

以上描述是拷贝别人的; 详细 出自 http://hi.baidu.com/%C2%E4%CB%AE%C9%F1/blog/item/548f3edf8fe7eff577c638aa.html
wpf

private void btn2_Click(object sender, RoutedEventArgs e)

{

Thread _t = new Thread(new ThreadStart(delegate() {

this.Dispatcher.Invoke(new Action(()=> { 执行内容 }), null);

}));

_t.Start();

}

winfrom

private void btn2_Click(object sender, RoutedEventArgs e)
{

Thread _t = new Thread(new ThreadStart(delegate() {

this.Invoke(new MethodInvoker(()=>{执行代码}));

}));

_t.Start();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: