Question

I'm very new to programming C#, though I've scripted C# in unity3D for a few years. I'm currently trying to make a WPF tray icon, all the sources I've found on the net tell me to use

System.Windows.Forms

However .Forms is not available in System.Windows for me, and I have no idea why not. Can anyone help me with this?

Était-ce utile?

La solution

You need to add references to the System.Window.Forms and System.Drawing assemblies and then you use it like this. Suppose you try to minimize the Window to tray icon and show it again when user click that icon:

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);
    }
}

Autres conseils

You need to add a reference to the System.Windows.Forms.dll and then use the NotifyIcon class.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top