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