VSTO 插件对话框

she*_*enk 4 c#

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

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

Eug*_*iev 7

如果您使用 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;
 } 
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅MSDN 中的对话框概述

如果您开发了自己的窗口,您可以为按钮的 Click 事件添加一个事件处理程序。