Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.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# Tulpep PopupNotifier赢得';如果生成它的线程仍在工作,是否弹出?_C#_User Interface_Ui Thread - Fatal编程技术网

C# Tulpep PopupNotifier赢得';如果生成它的线程仍在工作,是否弹出?

C# Tulpep PopupNotifier赢得';如果生成它的线程仍在工作,是否弹出?,c#,user-interface,ui-thread,C#,User Interface,Ui Thread,我有一个使用.NET 4.5.2的Windows窗体应用程序,我正在创建一个在代码中创建的PopupNotifier: PopupNotifier popup = new PopupNotifier(); popup.TitleText = "Title here"; popup.ContentText = "Content here"; popup.Popup(); 此弹出窗口旨在当应用程序作为没有可见GUI的计划任务调用时,提醒用户应用程序进程中的“里程碑”,在加载表单时,我将使用以下

我有一个使用.NET 4.5.2的Windows窗体应用程序,我正在创建一个在代码中创建的
PopupNotifier

PopupNotifier popup = new PopupNotifier();

popup.TitleText = "Title here";
popup.ContentText = "Content here";

popup.Popup();
此弹出窗口旨在当应用程序作为没有可见GUI的计划任务调用时,提醒用户应用程序进程中的“里程碑”,在加载表单时,我将使用以下代码隐藏该事件:

BeginInvoke(new MethodInvoker(delegate {
    Hide();
}));
问题是所有弹出窗口都会以队列或其他方式备份。在调用它们的方法完成执行之前,它们似乎不会弹出,并且UI线程仍然是主要的处理焦点,因为应用程序或多或少处于空闲状态。但我不知道确切的原因

我尝试过一些解决方案,比如从表单的UI线程调用弹出窗口,就像在中建议的那样,但没有成功。我是否可以调用一行或一块代码来强制弹出窗口显示?类似于
Application.DoEvents()
(除了,你知道,可以强制弹出显示的东西)


谢谢你的帮助

它是WPF应用程序的Windows窗体应用程序吗?它是使用.NET 4.5.2的Windows窗体应用程序-我已使用此信息更新了我的问题。如果您不需要Windows窗体应用程序的GUI,并且希望将其作为计划任务运行,为什么不创建一个Windows服务而不是一个Windows窗体应用程序?它有一个GUI,但是计划的任务应该在不显示GUI的情况下运行。您是否查看了
BackgroundWorker
类?它是专门为在Windows窗体应用程序中提供多线程而设计的。