表格不显示没有焦点

时间:2016-01-23 21:22:07

标签: c# winforms

我正在使用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有焦点时才有效。我尝试在没有附加调试器的情况下运行它,但这会导致表单永远不会显示。

例如:

  1. 我使用调试器运行并继续关注VS2015,帧显示。
  2. 我使用调试器运行并快速切换到另一个窗口,帧不显示。

1 个答案:

答案 0 :(得分:0)

可能是隐藏的,请使用ShowDialouge()代替

Thread notificationThread = new Thread(() =>
{
    NotificationFrame notificationFrame = new NotificationFrame("text1", "text2");
    notificationFrame.Visible = true;
    notificationFrame.ShowDialog();

    Application.Run();
});