如何在多线程中调用winform窗体控件(续)
2013-03-15 10:54
288 查看
[align=center]如何在多线程中调用winform窗体控件(续) [/align] 之前《在如何在多线程中调用winform窗体控件》文章中,有关多线程调用的一段代码:
private Thread myThread;
private void Form1_Load(object sender, EventArgs e)
{
myThread = new Thread(new ThreadStart(RunsOnWorkerThread));
myThread.Start();
}
private void RunsOnWorkerThread()
{
MethodInvoker mi = new MethodInvoker(SetControlsProp);
BeginInvoke(mi);
}
private void SetControlsProp()
{
label1.Text = "myThread线程调用UI控件";
}
当时使用的声明委托的方式,后来自己看着实在觉得不爽,代码太复杂了,下面对这段代码优化了一下,在Load事件中的代码如下:
private void Form1_Load(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(
() =>
{
this.BeginInvoke(new EventHandler(
(object o, System.EventArgs e1) => { textBox1.Text = "内容已设置"; }));
}));
thread.Start();
}
使用匿名委托的形势后主要是减少了代码的理解难度,也方便维护。 本文出自 “张隽永” 博客,谢绝转载!
private Thread myThread;
private void Form1_Load(object sender, EventArgs e)
{
myThread = new Thread(new ThreadStart(RunsOnWorkerThread));
myThread.Start();
}
private void RunsOnWorkerThread()
{
MethodInvoker mi = new MethodInvoker(SetControlsProp);
BeginInvoke(mi);
}
private void SetControlsProp()
{
label1.Text = "myThread线程调用UI控件";
}
当时使用的声明委托的方式,后来自己看着实在觉得不爽,代码太复杂了,下面对这段代码优化了一下,在Load事件中的代码如下:
private void Form1_Load(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(
() =>
{
this.BeginInvoke(new EventHandler(
(object o, System.EventArgs e1) => { textBox1.Text = "内容已设置"; }));
}));
thread.Start();
}
使用匿名委托的形势后主要是减少了代码的理解难度,也方便维护。 本文出自 “张隽永” 博客,谢绝转载!
相关文章推荐
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件
- 转:如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件(转)
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件2――实例篇
- 如何在多线程中调用winform窗体控件
- 如何在多线程中调用winform窗体控件
- 在多线程中调用winform窗体控件的实现方法
- Windows 窗体控件中的多线程处理之:如何对 Windows 窗体控件进行线程安全调用
- winform 利用 多线程 处理窗体假死,利用 Invoke BeginInvoke 处理子线程调用 UI 控件报错的问题
- WinForm异步:如何:对 Windows 窗体控件进行线程安全调用
- C# winform中一个类中如何调用另一个窗体的控件或方法
- C# winform中一个类中如何调用另一个窗体的控件或方法
- c#中跨线程调用windows窗体控件 .我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。
- C#2005 多线程中调用窗体控件