[Page Logo]
(Sorry, this site is Japanese only)

更新履歴
12/19 逆引き辞典[.NET編]追加
 タスクトレイに追加する
12/12 資料追加
 ショートカット一覧


VCP チョイ古っ

[Powered by Debian Logo]
Powered by Apache Logo
Powered by Hadoop Logo
タスクトレイに格納する
Windowsシステム構築逆引き辞典[.NET編]

Last Update : 2006/03/29 新規作成

機能

実行中アプリケーションをタスクトレイに格納する

対象

フォームアプリケーション

名前空間

サンプル言語

C#2005

サンプル

ボタンを1つ配置(button1)したフォームを1つ用意し(Form1)、そのボタンが押されたらタスクトレイにアイコンを格納し、フォームを見えなくします。
また、タスクトレイにあるアイコンをダブルクリックすると、フォームが表示されるようにします。

コードの記述に入る前に、フォームのデザイン画面でいくつかの設定が必要です。

・contextMenuStripを追加します。
 ツールバーからcontextMenuStripを追加すると、フォーム上でメニューを設定できるようになります。VB6時代に比べると非常に楽チンにメニュー定義が可能です。フォーム上で追加したい場所にメニュー名称を記述するだけです。その際、ショートカットキーの指定も可能です。

 ただし、このメニューをデザイン時にフォーム上で定義したからといって、実行時にフォーム上に現れるわけではありません。次の「notifyIcon」に関連して表示されます。(フォーム上にメニューを追加したい場合はmenuStripを使用します。旧バージョンのサンプルはこちら)

・notifyIconを追加します。
 フォームのボタン押下時にフォームを消して、アイコンをタスクトレイに格納する際の指定をします。

 プロパティ画面のContextMenuStrip項目を通じて、上記で設定したcontextMenuStripとnitifyIconを関連付けます。これにより、アイコンを右クリックするとマウスポインタの位置にメニューが表示されます。

 タスクトレイに表示したいアイコンは、Icon項目により指定します。また、アイコン上にマウスポインタを置くと表示される文言はText項目により指定可能です。今回はボタン押下によりタスクトレイにアイコンを格納します。起動時にはアイコンを格納しないので、Visibleの初期値はFalseとしておきます。

ここまで準備ができたらフォームのクラスに処理を記述していきます。

                                    
 1. namespace taskTraySample
 2. {
 3.     public partial class Form1 : Form
 5.     {

 6.         public Form1()
 7.         {
 8.             InitializeComponent();
 9.         }

10.         private void button1_Click(object sender, EventArgs e)
11.         {
12.             notifyIcon1.Visible = true;
13.             this.Visible = false;
14.         }

15.         private void notifyIcon1_DoubleClick(object sender, EventArgs e)
16.         {
17.             this.Visible = true;
18.             notifyIcon1.Visible = false;
19.         }

20.         private void 取り出すToolStripMenuItem_Click(object sender, EventArgs e)
21.         {
22.             this.Visible = true;
23.             notifyIcon1.Visible = false;
24.         }

25.         private void 終了EToolStripMenuItem_Click(object sender, EventArgs e)
26.         {
27.             this.Close();
28.         }
29.     }
30. }
                                

上記のそれぞれの処理は以下のとおりです。

10〜14行目

ボタン押下に応じてアイコンを表示し、フォームを非表示にします。

15〜19行目

アイコンをダブルクリックすることにより、フォームを表示してアイコンを非表示にします。

20〜24行目

アイコンを右クリックして表示されるメニューのうち、「取り出す」を選択した際にフォームを表示し、アイコンを非表示にします。

25〜28行目

アイコンを右クリックして表示されるメニューのうち、「終了」を選択した際にフォームを閉じてアプリケーションを終了します。

C#2005ではこれだけの処理です(VB2005も同様)。繰り返しですが、VB6に比べる非常に簡単ですね。
上記サンプルはここにあります。



Link free.(トップページにお願いいたします)
お問い合わせ、苦情等はこちらから
Copyright©2002-2012 YuBoo. All rights reserved.