2012-08-15 59 views
0

如何禁止在點擊確定按鈕時關閉表單?我有以下代碼:當點擊「確定」按鈕時關閉TForm

void __fastcall TfrmTillegg_velg::btnOkClick(TObject *Sender) 
{ 
    if (exp1) 
     ShowMessage("Not allowed"); // Don't close form 
    else if (exp2) 
     ShowMessage("Not allowed"); // Don't close form 
    else 
    { 
     // Do something here 
     Close(); 
    } 
} 

該項目是用Borland C++ builder編寫的。

回答

1

如果您的意思是保持由ShowMessage創建的對話框打開。那麼據我所知,你不能這樣做。每當您點擊任何按鈕時,ShowMessage顯示的對話框將關閉。如果你想要一個不會以這種方式關閉的彈出對話框,你需要自己創建一個自定義表單並根據你的需要控制它的行爲。

萬一你的問題指的是你的形式結束,那麼你做上面的按鈕單擊事件處理程序中必須Close()的顯式調用會導致您的形式關閉,只要您的兩個exp1exp2條件是錯誤的。

else  {   
     // Do something here   
     Close();  // THIS WILL CLOSE YOUR MAIN FORM. 
} 
+0

對不起,不好解釋。我想讓主表單在exp1和exp2中保持活躍狀態​​。但我知道了。如果我將OK按鈕的ModalResult屬性設置爲mrNone,則相同的代碼可以工作。 – raze 2012-08-15 15:05:18

+0

@raze現在我明白你的意思了。我以爲你希望ShowMessage在你不能做的那個點擊OK後保持顯示。 – mathematician1975 2012-08-15 15:17:36