2011-11-16 26 views
0

我做了一個窗體是一個對話框,窗體只有一個文本框,一個確定按鈕和一個取消按鈕。不知何故,當以下不工作,除非我改變rnmForm.DialogResult!= DialogResult.OK),爲什麼?對話結果不起作用或部分工作出於某種原因

frmRename rnmForm = new frmRename(); 

     rnmForm.ShowDialog(new Form()); 
     if (rnmForm.DialogResult==DialogResult.OK) 
     { 
      MessageBox.Show("test"); 

     } 

回答

1

在確定點擊事件關閉對話框之前,您是否確保將對話框結果設置爲OK?

this.DialogResult = DialogResult.OK; 
this.Close(); 

或設置OK按鈕的屬性,與此類似:

btnOk.DialogResult = DialogResult.OK; 

我也有問,爲什麼您呼叫的ShowDialog並指定窗體的新實例是所有者,而不是僅僅調用它沒有參數。只是不確定這是故意的。

rnmForm.ShowDialog(); 
+0

嗯我確實有一個單擊事件按鈕,我有一些簡單的字符串分配(分配textbox.TEXT字符串可變),我還應該做什麼? – ikel

+0

編輯。在調用close之前添加this.DialogResult = DialogResult.Ok。 – Jay

+0

實際上,你是正確的,我做了沒有任何意圖的新形式,另外,我把btnOk.DialogResult = DialogResult.OK初始化後,然後它工作公共frmRename() { this.StartPosition = FormStartPosition.CenterParent; InitializeComponent(); btnOK.DialogResult = DialogResult.OK; } – ikel

相關問題