为什么此代码片段在我的 VS2012 中不起作用

Why this code snippet doesn't work in my VS2012

代码:

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 我发现这段代码 snippet.But 它在我的 VS2012 中不起作用。

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

我猜是因为我在Project.So里没有图标文件,我选择了一个图标文件(.ico)并粘贴到我的project.Also,它不起作用.

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

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

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