我需要调用MessageBox调用吗?

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)))。