我正在使用异步套接字操作,当客户端收到消息时,它会使用下面的代码调用方法并执行Methodinvoker:
private void AddText(string message)
{
MethodInvoker mi = new MethodInvoker(delegate
{
textBox1.Text += message;
});
this.Invoke(mi);
}
我不明白为什么使用methodinvoker。 最好使用它而不是声明和调用没有参数的void方法?必须有充分的理由。
答案 0 :(得分:1)
显然你的方法是从另一个线程调用的,然后是你的主线程。
在拥有控件底层窗口句柄的线程上执行指定的委托。
您应始终与主线程上的用户控件进行交互。 Invoke
方法将委托发布回应用程序的主线程。