41

私は新しいWPFアプリケーションを作成していますが、アプリケーションを最小限に抑え、時計のすぐ横(またはその一般的な領域)のシステムトレイにぴったりと収まるようにする必要があります。

これは、Windows XP、Vista、および7で機能する必要があります。古いバージョンのWindowsをサポートする必要はありません。

.NET 4を使用している場合、これを実現する最も簡単な方法は何ですか?

4

3 に答える 3

77

MSDNフォーラムの例

通知領域に最小化する方法を示す簡単な例を次に示します。System.Window.FormsおよびSystem.Drawingアセンブリへの参照を追加する必要があります。

public partial class Window1 : System.Windows.Window
{

    public Window1()
    {
        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 == System.Windows.WindowState.Minimized)
            this.Hide();

        base.OnStateChanged(e);
    }
}
于 2012-04-19T14:47:59.783 に答える
18

WPFでこの無料の通知アイコンの実装を使用して成功しました。

http://www.hardcodet.net/projects/wpf-notifyicon

セットアップは非常に簡単で、ソースコードが提供されています。Windowsフォームに依存しないため、「純粋な」WPFであり、非常にカスタマイズ可能です。

CodeProjectでそれを使用する方法についてのチュートリアルを見つけることができます。
そして、これがNugetパッケージです

于 2012-04-19T14:46:57.093 に答える
0

notifyIconツールボックスからアプリに追加します。
メインを選択しますform>>移動します>>アイコンをProperties選択します>>タイプの下>>Enterキーを押します。EventsFromClosing eventMainForm_FormClosing

ここに画像の説明を入力してください

開いた.csファイルに次のイベントアクションを入力します。

private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
     this.Hide();
     notifyIcon.Visible = true;
     ShowInTaskbar = false;
     e.Cancel = true;
}

これで、Xボタンをクリックすると、メインのFORMウィンドウがシステムトレイに最小化されます。次のステップは、FORMを通常の状態に戻すことです。>>検索>>タイプのに
移動し、Enterキーを押して、イベント関数を作成します。PropertiesnotifyIconDoubleClick eventNotifyIcon_DoubleClick

ここに画像の説明を入力してください

このコードをイベントに配置します。

private void NotifyIcon_DoubleClick(object sender, EventArgs e)
{
    this.Show();
    notifyIcon.Visible = false;
}

これで、通知アイコンを派手なスタイルにしたい場合は、コンテキストメニューを追加して通知アイコンにリンクできるので、次のようになります。

ここに画像の説明を入力してください

ここで、contextMenuStripをNotifyIconにリンクします。

ここに画像の説明を入力してください

幸運を!

于 2017-01-12T16:27:29.623 に答える