maf*_*afu 5 .net messagebox invoke
要弹出一个消息框,我正在使用MessageBox.Show(...).我通常将调用包装在一个Invoke中:
BeginInvoke (new Action (() => {
MessageBox.Show ());
}));
Run Code Online (Sandbox Code Playgroud)
(我删除了其他地方回答的原问题的一部分)
Invoke如果我从非GUI线程调用,是否总是需要将MessageBox调用包装在(Begin-)中?
小智 1
简短的回答:是的,因为我认为这是最佳实践。
更长的答案:
你不应该陷入必须问自己这个问题的境地,至少从长远来看不应该。通常,在设计良好的软件中,您已经在用户界面和“世界其他地方”之间定义了“网关”,这也是您引发通知 GUI 必须执行某些操作的事件的地方(通过 BeginInvoke(EventRaiserMethod(params)))。