C# 没有焦点,形式就不会显现
我正在使用C#表单在Windows中显示toast样式的通知(现有的balloon通知有缺陷,无法根据我的需要进行定制) 在轮询服务器进行更改时,我在子线程上调用以下代码C# 没有焦点,形式就不会显现,c#,winforms,C#,Winforms,我正在使用C#表单在Windows中显示toast样式的通知(现有的balloon通知有缺陷,无法根据我的需要进行定制) 在轮询服务器进行更改时,我在子线程上调用以下代码 Thread notificationThread = new Thread(() => { NotificationFrame notificationFrame = new NotificationFrame("text1", "text2"); notificationFrame.Show();
Thread notificationThread = new Thread(() =>
{
NotificationFrame notificationFrame = new NotificationFrame("text1", "text2");
notificationFrame.Show();
Application.Run();
});
notificationThread.Name = "Notification thread";
notificationThread.IsBackground = true;
notificationThread.Start();
但是,此表单并不总是显示。我发现它只有在VisualStudio有焦点时才起作用。我尝试在没有附加调试程序的情况下运行它,但这会导致表单永远不会显示
例如:
可能是隐藏的,使用
ShowDialouge()
代替
Thread notificationThread = new Thread(() =>
{
NotificationFrame notificationFrame = new NotificationFrame("text1", "text2");
notificationFrame.Visible = true;
notificationFrame.ShowDialog();
Application.Run();
});
还是不行。另外,我的窗口的顶部设置为true,所以它应该是可见的。你能确认它是不显示还是隐藏吗?我不确定。它是看不见的,这是肯定的。我可以执行代码检查您是否有。可能是因为notificationThread.IsBackground=true,它在后台运行,不显示。也许我错了,但我认为IsBackground只意味着线程将在所有其他主线程退出时退出。在本例中,我确信其他线程正在运行。