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();
}
也就说,它所接受的是一个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();
}
相关文章推荐
- c#中跨线程调用windows窗体控件 .我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。
- 如何在多线程中调用winform窗体控件
- 使用多线程提高 Windows 窗体应用程序的性能时,必须注意以线程安全方式调用控件
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件(续)
- 关于多线程环境下安全调用窗体控件方法
- 如何在多线程中调用winform窗体控件(转)
- 问题-Delphi在多线程中使用其他窗体上的控件,报“尚未调用CoInitialize”解决方法
- 在多线程中调用winform窗体控件的实现方法
- 转:如何在多线程中调用winform窗体控件
- 关于在窗体中使用多线程调用控件的方式
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件2――实例篇
- winform 利用 多线程 处理窗体假死,利用 Invoke BeginInvoke 处理子线程调用 UI 控件报错的问题
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件
- c# vs2005 多线程中调用窗体控件