【问题标题】:Show modal window for 1 second显示模态窗口 1 秒
【发布时间】:2018-10-18 10:03:44
【问题描述】:

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

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

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

【问题讨论】:

    标签: c++ winapi showmodaldialog c++builder-10.2-tokyo


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多