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

更新:2007 年 11 月

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

说明:

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

在设计时设置控件的 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 窗体中的对话框