我正在使用C#窗体在Windows中显示一个吐司式的通知(现有的气球通知是越野车,并且不足以满足我的需要)。窗体不显示没有焦点
我在调用服务器查询更改时在子线程上调用以下代码。
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,框架节目。
- 我使用调试器运行并快速切换到另一个窗口,帧不显示。
也许是因为** notificationThread.IsBackground = TRUE; **,它在后台运行,并没有显示。 – McBooley
也许我错了,但我认为IsBackground只意味着线程会在所有其他主要线程都退出时退出。在这种情况下,我确信其他线程正在运行。 – Hele