Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 按下“时,在TForm上抑制关闭”;“好的”;按钮_C++_C++builder - Fatal编程技术网

C++ 按下“时,在TForm上抑制关闭”;“好的”;按钮

C++ 按下“时,在TForm上抑制关闭”;“好的”;按钮,c++,c++builder,C++,C++builder,点击OK按钮时,如何抑制关闭窗体?我有以下代码: 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 {

点击OK按钮时,如何抑制关闭窗体?我有以下代码:

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编写的。

如果您的意思是保持由
ShowMessage
创建的对话框处于打开状态。那么就我所知,你不能这样做。每当您单击任何按钮时,
ShowMessage
显示的对话框将关闭。如果希望弹出对话框不会以这种方式关闭,则需要自己创建自定义表单,并根据需要控制其行为

如果您的问题涉及到您的main表单关闭,那么您确实在上面的按钮单击事件处理程序中有一个对
Close()
的显式调用,当
exp1
exp2
条件都为false时,它将导致表单关闭

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

对不起,解释不好。我想让主窗体在exp1和exp2中保持活动状态。但我明白了。如果我现在将OK按钮的
ModalResult
属性设置为
mrNone
@raze,同样的代码也能工作,我明白你的意思。我以为你想在单击“确定”后继续显示ShowMessage,但你不能这样做。