0

我有一个 mainForm 和 dialogForm。我想显示模态 dialogForm 1 秒钟,它应该以编程方式关闭。我试过这段代码:

//onButtonClick()
{
dialogForm->ShowModal();
Sleep(1000);
dialogForm->ModalResult =  mrOk;
dialogForm->Close();
}

我也试过没有Sleep(1000);,但它只是没有关闭表单。如何正确关闭此表单?

4

1 回答 1

3

ShowModal()当模态窗体关闭时返回。这是关于表单是模态的关键点之一。因此,只有在表单关闭后,您的程序才会调用Sleep().

相反,您需要在表单中添加一个间隔为 1000 毫秒的计时器。显示表格时启动计时器。当计时器触发时,关闭表单。

请注意,您永远不应该Sleep()从 UI 线程调用,因为这会停止 UI 线程处理消息,从而使程序变得无响应。

于 2018-10-18T10:08:55.547 回答