HOW TO:關閉對話方塊並保留使用者輸入
更新:2007 年 11 月
您可以在設計階段或執行階段設定對話方塊關閉的方式。在設計階段,您可以設定對話方塊上所有 Button 控制項的 DialogResult 屬性。在執行階段,您可以設定 DialogResult 屬性,這樣就能以動態方式處理使用者回應。
注意事項: |
---|
根據目前使用的設定與版本,您所看到的對話方塊與功能表命令可能會與 [說明] 中所描述的不同。如果要變更設定,請從 [工具] 功能表中選取 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定。 |
若要在設計階段設定控制項的 DialogResult 屬性
按一下你想要設定屬性的 Button 控制項。
在 [屬性] 視窗中,選取 DialogResult 屬性,並開啟可用屬性設定的清單。
選取適當的對話方塊結果。
你可以為使用者執行的動作 (除了按一下 Button 控制項以外的動作),設定對話方塊結果。假如你的對話方塊並不包含關閉對話方塊的按鈕,你可以在執行階段設定對話方塊的結果。
若要以程式設計的方式設定控制項或表單的 DialogResult 屬性
巡覽到你想要設定 DialogResult 屬性的事件處理常式或方法。
編寫類似下列程式碼範例的程式碼。
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 事件來防止關閉對話方塊。