如何:关闭对话框并保留用户输入

可以在设计时或运行时设置对话框的关闭方式。 在设计时,可以设置对话框上所有 Button 控件的 DialogResult 属性。 在运行时,可以设置 DialogResult 属性,从而可以动态处理用户响应。

提示

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。 有关更多信息,请参见 使用设置

在设计时设置控件的 DialogResult 属性

  1. 单击要为其设置该属性的 Button 控件。

  2. 在**“属性”**窗口中选择 DialogResult 属性,然后打开可用属性设置列表。

  3. 选择适当的对话框结果。

    可为用户执行的、除单击 Button 控件以外的其他操作设置对话框结果。 如果对话框不包含关闭该对话框的按钮,可在运行时设置该对话框的结果。

以编程方式设置控件或窗体的 DialogResult 属性

  1. 定位到要为其设置 DialogResult 属性的事件处理程序或方法。

  2. 编写类似于下面的代码示例的代码。

    Public Sub InformationProcessed()
       ' This code will set the DialogResult for a form.
       Me.DialogResult = DialogResult.Yes
       ' OR
       ' This code will set the DialogResult for a button.
       Button1.DialogResult = DialogResult.No
    End Sub
    
    private void InformationProcessed() 
    {
       // This code will set the DialogResult for a form.
       DialogResult = DialogResult.Yes;
       // OR
       // This code will set the DialogResult for a button.
       button1.DialogResult = DialogResult.No;
    }
    
    private:
       void InformationProcessed()
       {
          // This code will set the DialogResult for a form.
          this->DialogResult = DialogResult::Yes;
          // OR
          // This code will set the DialogResult for a button.
          button1->DialogResult = DialogResult::No;
       }
    

    虽然设置 DialogResult 属性将引起对话框自动关闭,但仍可处理控件的 Click 事件,而且对话框在事件处理程序的代码完成后立即关闭。 在处理 Click 事件时,可能需要暂停对话框的关闭。

阻止 DialogResult 属性关闭对话框

  • 在事件处理程序中,编写类似于下面的代码示例的代码。

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
       Me.DialogResult = DialogResult.None
    End Sub
    
    private void button1_Click(object sender, System.EventArgs e) 
    {
       DialogResult = DialogResult.None;
    }
    
    private:
       void button1_Click(System::Object ^ sender,
          System::EventArgs ^ e) 
       {
          this->DialogResult = DialogResult::None;
       }
    

    提示

    ‎您还可以使用窗体的 Closing 事件来停止对话框的关闭。

请参见

任务

如何:在设计时创建对话框

如何:检索对话框的结果

概念

对话框的用户输入

其他资源

Windows 窗体中的对话框