13

我对 C# 编程非常陌生,尽管我已经在 unity3D 中编写 C# 脚本已有几年了。我目前正在尝试制作 WPF 托盘图标,我在网上找到的所有资源都告诉我使用

System.Windows.Forms

但是 .Forms 在 System.Windows 中对我不可用,我不知道为什么不可用。谁能帮我这个?

4

2 回答 2

33

您需要添加对 System.Window.Forms 和 System.Drawing 程序集的引用,然后像这样使用它。假设您尝试将 Window 最小化到托盘图标并在用户单击该图标时再次显示它:

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);
    }
}
于 2012-09-14T15:58:40.483 回答
2

您需要添加对 System.Windows.Forms.dll 的引用,然后使用 NotifyIcon 类。

http://msdn.microsoft.com/en-us/library/system.windows.forms.notifyicon.aspx

于 2012-09-14T15:58:10.993 回答