我有一个窗体,我有一个组合框有三个值: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