Contents
サンプルプログラムの準備
NotifyIconを実装するには、以下の手順を踏みます。
- 適当なIconファイルを用意
NotifyIconをタスクトレイに表示するために、Iconが必要です。適当なIconファイルを準備しておいて下さい。 - プロジェクトにFormを1つ追加する。
プロジェクトを新規作成すると勝手に作られるForm1.csはそのままにして、NofityIconを実装するフォームを1つ追加します。サンプルでは、FormStart.csという名前にしました。このフォームがNotifyIconを実装するフォームになります。FormStart.csフォーム自体は初期状態では表示しないようにして、タスクトレイ内のNotifyIconのみを表示するようにしていきます。 - ContextMenuStripをFormStartフォームに貼り付ける。
先に追加したサンプル用フォーム「FormStart.cs」にContextMenuStripを追加します。コンテキストメニューには、メニュー項目を追加しておきます。特に、プログラムを終了できる「終了」をメニューで選べるようにしておくと便利です。ContectMenuStripのイベント設定でこれを選ばれたら、Application.Exitを呼び出すようにしておきます。

NotifyIconの設定
次に、FormStartフォーム内に貼り付けたNotifyIconのプロパティを設定していきます。

NotifyIconのプロパティの最低限の設定項目は以下のとおりです。
- Iconプロパティ
この項目には、準備しておいたIconファイルを指定してください。 - ContextMenuStripプロパティ
これも前述の章で準備しておいたContextMenuStripを指定して下さい。
Program.csの編集
ここまできたら、最後にProgram.csファイルを変更します。このファイルには通常以下のような記述があると思います。
static class Program { /// <summary> /// アプリケーションのメイン エントリ ポイントです。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new FormMain()); } }
これを、以下のように修正します。具体的には、上のソースの11行目を下のソースの11~14行目のように置き換えます。
static class Program { /// <summary> /// アプリケーションのメイン エントリ ポイントです。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); using (FormStart frm = new FormStart()) { Application.Run(); } } }
これで、デフォルトのForm1.csはそのままメイン画面などの用途で使用し、新しく追加したFormStart.csがNotifyIconを表示します。NotifyIconで設定したContectMenuStripの項目が選択された場合のイベントは、FormStart.csで処理するようにします。
実行してみる
ここでプログラムを実行してみてください。タスクトレイに以下のように自分で設定したアイコンが出るはずです。

このアイコンを右クリックすると、コンテキストメニューが表示されます。

いくつかのチューニング
アイコンが消えない現象
このままですと、プログラムが終了する際に、タスクトレイにアイコンが残ったりしますので、その場合は、コンテキストメニューの「終了」などが選択された時に、以下のコードを入れておきます。3行目のコードがそれです。
private void ExitToolStripMenuItem_Click(object sender, EventArgs e) { this.notifyIcon1.Visible = false; Application.Exit(); }
バルーンを表示する
バルーンを表示させたい場合は、以下のようなコードを実行します。
private void BaloonToolStripMenuItem_Click(object sender, EventArgs e) { this.notifyIcon1.BalloonTipTitle = "お知らせ"; this.notifyIcon1.BalloonTipIcon = ToolTipIcon.Info; this.notifyIcon1.BalloonTipText = "以下の設定を確認してください。\r\nファイル-オプション設定"; this.notifyIcon1.ShowBalloonTip(10000); }
このカテゴリのページリンク |
同一カテゴリの記事一覧
- 【テクニカル】WordPressを多言語化する
- 【テクニカル】CentOs8 インストール後にすべきことメモ
- 【テクニカル】一番簡単なCentOS PHP7.3から7.4への移行方法
- 【テクニカル】パソコンへのLinuxの導入
- 【テクニカル】Open Graph 手書きのウエブサイトをSNSでシェアできるよう…
- 【テクニカル】C# NotifyIconの実装
- 【テクニカル】一番わかりやすいBracketsの導入とトラブルシューティング
- 【テクニカル】無料SSL Let's EncryptでWordpressサイトをSSL化する
- 【テクニカル,未分類】【Windows10】ホテルのWiFi接続時に「インターネット接続…
- 【テクニカル】Let's Encryptのトラブルシューティング
- 【テクニカル】C# で Task を使う
- 【テクニカル】MacBookProにBootcampでWindows10を入れる際のポイント
- 【テクニカル】PHPMailer導入とトラブル対策
- 【テクニカル】PHPMailerのログをSYSLOGに出力
- 【テクニカル】Visual Studio 2017で使うSSHの秘密鍵をputtygenで作成す…
- 【テクニカル】Wordpressの投稿一覧で要らない項目を削除する方法
- 【テクニカル】Google SEO の要点 - Better Google SEO
- 【テクニカル】wordpressを始める前に絶対すべき準備 - Things you need …
- 【テクニカル】Wordpress URL設定間違い・サイト移動のトラブル対応 - Ho…
- 【テクニカル】VisualStudio2013セットアッププロジェクトを戻す! - Vis…
- 【テクニカル】C# でWindowsサービスの「説明」の文を取得する方法 - C# …
- 【テクニカル】動画配信に最低限必要なモノ(動画配信環境)
- 【テクニカル】動画配信のトラブル対処(ブーンというノイズが乗る)
- 【テクニカル】client denied by server configuration: