我有一個窗體,我有一個組合框有三個值:90,95和99.我希望用戶只從這三個選項中進行選擇,並在輸入另一個值時引發錯誤。所以我寫了下面的代碼來顯示提醒用戶錯誤的消息。問題在於當messageDlg出現並且用戶點擊「OK」時,整個表單關閉。我希望用戶在關閉MessageDlg後能夠做出正確的選擇。如何關閉MessageDlg而不關閉Delphi中的表單?
if not ((cbPILimits.Text = '90') or
(cbPILimits.Text = '95') or
(cbPILimits.Text = '99')) then
begin
MessageDlg('The PI limit levels can only be 90%, ' +
'95% or 99%. Please choose among these three.',
mtError, [mbOK], 0);
if not (TryStrToFloat(cbPILimits.Text, PIPercent)) then exit;
end;
Close;
這個過程中的代碼還有很多,所以我不能編碼「關閉」你顯示的方式。不過,您的第二個選擇對我而言更合適。我不知道csDropDownList。那樣做了。謝謝。 – Serge
沒問題。如果解決了您的問題,請接受答案。 –
最後一行是將cbPILimits中的文本與錯誤檢查一起讀取到PIPercent。但我想你是對的 - 如果用戶僅限於列表中的三個值,那麼在那裏進行錯誤檢查似乎是多餘的。 – Serge