VSTO Addin对话框

时间:2015-05-26 09:53:55

标签: c#

我在Outlook 2013的VSTO插件中弹出一个对话框。我测试了DialogResult.Yes和No,我已经设置了两个按钮的结果。它们工作正常,但是当用户取消开箱即用时,我还想要另一种行为。当他们按下取消时,代码就会继续。如果他们取消对话框,我可以调用什么来阻止插件执行?如何测试取消按钮?我试过res == DialogResult.Cancel但是它不能将res转换为bool而且它的类型是DialogResult,因为我也测试了Yes和No。

如何判断他们是否按下取消按钮,以及如何退出插件。在python中,命令是sys.exit()什么是C#等价物?

1 个答案:

答案 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事件添加事件处理程序。