我有一个 mainForm 和一个 dialogForm。我想显示模态 dialogForm 1 秒钟,它应该以编程方式 关闭。我试过这段代码:
//onButtonClick()
{
dialogForm->ShowModal();
Sleep(1000);
dialogForm->ModalResult = mrOk;
dialogForm->Close();
}
我也尝试过不使用 Sleep(1000);
,但它并没有关闭表单。如何正确关闭此表单?
最佳答案
ShowModal()
在模态窗体关闭时返回。这是关于表单是模态的关键点之一。因此,只有在表单关闭后,您的程序才会调用 Sleep()
。
相反,您需要在表单中添加一个间隔为 1000 毫秒的计时器。显示表单时启动计时器。当计时器触发时,关闭表单。
请注意,永远不要从 UI 线程调用 Sleep()
,因为这会停止 UI 线程处理消息,从而使程序变得无响应。
关于c++ - 显示模态窗口 1 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52871614/