我已编写以下代码来初始化我的WPF应用程序的NotifyIcon:
var Notify = new System.Windows.Forms.NotifyIcon();
var sri = Application.GetResourceStream(new Uri("/Content/Images/icon.ico", UriKind.Relative));
var bitmap = new System.Drawing.Bitmap(sri.Stream);
var handle = bitmap.GetHicon();
Notify.Icon = System.Drawing.Icon.FromHandle(handle);
System.Windows.Forms.ContextMenuStrip Menu = new System.Windows.Forms.ContextMenuStrip();
Notify.ContextMenuStrip = Menu;
System.Windows.Forms.ToolStripMenuItem ExitMenuItem = new System.Windows.Forms.ToolStripMenuItem("Exit");
ExitMenuItem.Click += (s, e) =>
{
Application.Current.Shutdown();
};
Menu.Items.Add(ExitMenuItem);
申请冻结在以下一行(详见下文):
System.Windows.Forms.ToolStripMenuItem ExitMenuItem = new System.Windows.Forms.ToolStripMenuItem("Exit");
它在许多机器上运行良好,但有时会在少数其他机器上冻结应用程序2分钟。我遇到此问题的一台机器如下:
联想G50 8GB Ram 64bit Windows 10家庭英特尔酷睿i7-5500U CPU 2.40 GHZ
经过多次测试尝试后,我发现只有在创建第一个ToolStripMenuItem并将其添加到NotifyIcon的ToolStripMenu时才会出现此问题(在本例中为 ExitMenuItem )。但我无法理解为什么会这样。我已经标记了应用程序开始冻结的行。非常感谢您的帮助。