为什么此代码段在我的VS2012中无法正常工作

时间:2016-05-06 09:43:51

标签: c# .net wpf visual-studio-2012

代码:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        ///托盘图标呈现;
        System.Windows.Forms.NotifyIcon ni = new System.Windows.Forms.NotifyIcon();
        ni.Icon = new System.Drawing.Icon("Main.ico");
        ni.Visible = true;
        ni.DoubleClick +=
            delegate(object sender, EventArgs args)
            {
                this.Show();
                this.WindowState = WindowState.Normal;
            };

    }


   //窗口状态变化事件
    protected override void OnStateChanged(EventArgs e)
    {
        if (WindowState == WindowState.Minimized)
            this.Hide();  //即,如果收到“窗口最小化”命令,则窗口隐藏。

        base.OnStateChanged(e); //如果不是,不做处理(准确的说,是根据参数e做调整)
    }


}

我正在努力实现我的App MainWindow最小化到traypanel.And我找到了这个代码片段。但它在我的VS2012中不起作用。

源:(Easiest way to have a program minimize itself to the system tray using .NET 4

我想是的,因为我在Project中没有图标文件。所以,我选择了一个图标文件(.ico)并将其粘贴到我的项目中。此外,它没有'工作。

[问题已解决,谢谢大家] 我应该将图标文件粘贴到生成.exe文件的文件夹中。囧~~

1 个答案:

答案 0 :(得分:0)

我很幸运找到了解决方法:将图标文件粘贴到生成.exe文件的文件夹中,而不是将其粘贴到VS中的项目文件夹中。

我不知道为什么,但确实有效。