新しいWPFアプリケーションを作成しています。アプリケーションを最小化し、システムトレイの時計の横(またはその一般的な領域)にすてきで快適に配置できるようにする必要があります。
これはWindows XP、Vista、および7で動作する必要があります。古いバージョンのWindowsをサポートする必要はありません。
.NET 4を使用している場合、これを達成する最も簡単な方法は何ですか?
通知領域を最小化する方法を示す簡単な例を次に示します。 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);
}
}
この無料のWPFの通知アイコンの実装を使用して成功しました。
http://www.hardcodet.net/projects/wpf-notifyicon
セットアップは非常に簡単で、ソースコードが提供されています。 Windows Formsに依存していないため、「純粋な」WPFであり、非常にカスタマイズ可能です。
CodeProject で使用方法のチュートリアルを見つけることができます。
そして、これが Nugetパッケージ です
ツールボックスからnotifyIcon
をアプリに追加します。
メインform
を選択>> Properties
>>に移動Events
アイコン>> FromClosing event
の下に入力MainForm_FormClosing
> > Enterキーを押します。
開いた.cs
ファイルに、次のイベントアクションを入力します。
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
this.Hide();
notifyIcon.Visible = true;
ShowInTaskbar = false;
e.Cancel = true;
}
これで、Xボタンをクリックすると、メインFORMウィンドウがシステムトレイに最小化されます。次のステップは、FORMを通常の状態に戻すことです。Properties
のnotifyIcon
に移動してDoubleClick event
>>を入力し、NotifyIcon_DoubleClick
と入力してEnterキーを押し、イベント関数を作成します。
このコードをイベントに追加します。
private void NotifyIcon_DoubleClick(object sender, EventArgs e)
{
this.Show();
notifyIcon.Visible = false;
}
今、あなたは派手なスタイルの通知アイコンを作成したい場合、コンテキストメニューを追加して通知アイコンにリンクすることができますので、そのようなものを取得します:
ContextMenuStripをNotifyIconにリンクする場所は次のとおりです。
幸運を!