سؤال

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?

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top