【发布时间】:2012-09-14 15:55:55
【问题描述】:
我对 C# 编程非常陌生,尽管我已经在 unity3D 中编写 C# 脚本已有几年了。 我目前正在尝试制作 WPF 托盘图标,我在网上找到的所有资源都告诉我使用
System.Windows.Forms
但是 .Forms 在 System.Windows 中对我不可用,我不知道为什么不可用。谁能帮我解决这个问题?
【问题讨论】:
我对 C# 编程非常陌生,尽管我已经在 unity3D 中编写 C# 脚本已有几年了。 我目前正在尝试制作 WPF 托盘图标,我在网上找到的所有资源都告诉我使用
System.Windows.Forms
但是 .Forms 在 System.Windows 中对我不可用,我不知道为什么不可用。谁能帮我解决这个问题?
【问题讨论】:
您需要添加对 System.Window.Forms 和 System.Drawing 程序集的引用,然后像这样使用它。假设您尝试将窗口最小化到托盘图标并在用户单击该图标时再次显示它:
public partial class Window : System.Windows.Window
{
public Window()
{
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);
}
}
【讨论】:
您需要添加对 System.Windows.Forms.dll 的引用,然后使用 NotifyIcon 类。
http://msdn.microsoft.com/en-us/library/system.windows.forms.notifyicon.aspx
【讨论】: