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