我在Outlook 2013的VSTO插件中弹出一个对话框。我测试了DialogResult.Yes和No,我已经设置了两个按钮的结果。它们工作正常,但是当用户取消开箱即用时,我还想要另一种行为。当他们按下取消时,代码就会继续。如果他们取消对话框,我可以调用什么来阻止插件执行?如何测试取消按钮?我试过res == DialogResult.Cancel
但是它不能将res转换为bool而且它的类型是DialogResult,因为我也测试了Yes和No。
如何判断他们是否按下取消按钮,以及如何退出插件。在python中,命令是sys.exit()
什么是C#等价物?
答案 0 :(得分:4)
如果使用System.Windows.Forms.MessageBox类在加载项中显示对话框,则可以使用以下代码检查所选选项:
// Display message box
DialogResult result = MessageBox.Show(messageBoxText, caption, button, icon);
// Process message box results
switch (result)
{
case MessageBoxResult.Yes:
// User pressed Yes button
// ...
break;
case MessageBoxResult.No:
// User pressed No button
// ...
break;
case MessageBoxResult.Cancel:
// User pressed Cancel button
// ...
break;
}
有关详细信息,请参阅MSDN中的Dialog Boxes Overview。
如果您开发了自己的窗口,则可以为按钮的Click事件添加事件处理程序。