没有焦点,表单就不会显示
本文关键字:显示 表单 焦点 | 更新日期: 2023-09-27 18:31:32
我正在使用 C# 窗体在 Windows 中显示 Toast 样式的通知(现有的气球通知有问题,无法满足我的需求)。
我在轮询服务器以进行更改时在子线程上调用以下代码。
Thread notificationThread = new Thread(() =>
{
NotificationFrame notificationFrame = new NotificationFrame("text1", "text2");
notificationFrame.Show();
Application.Run();
});
notificationThread.Name = "Notification thread";
notificationThread.IsBackground = true;
notificationThread.Start();
但是,此窗体并不总是显示。我发现它只有在Visual Studio有焦点时才有效。我尝试在没有附加调试器的情况下运行它,但这会导致表单永远不会显示。
例如:
- 我使用调试器运行,并将重点放在VS2015上,帧显示。
- 我使用调试器运行并快速切换到另一个窗口,帧不显示。
可能是
隐藏的,请使用ShowDialouge()
Thread notificationThread = new Thread(() =>
{
NotificationFrame notificationFrame = new NotificationFrame("text1", "text2");
notificationFrame.Visible = true;
notificationFrame.ShowDialog();
Application.Run();
});