为什么此代码片段在我的 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中的项目文件夹中。
我不知道为什么,但它确实有效。
代码:
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中的项目文件夹中。
我不知道为什么,但它确实有效。