共用方式為


HOW TO:關閉對話方塊並保留使用者輸入

更新: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 事件來防止關閉對話方塊。

請參閱

工作

HOW TO:在設計階段建立對話方塊

HOW TO:擷取對話方塊的結果

概念

使用者輸入到對話方塊

其他資源

Windows Form 中的對話方塊