2009/06/11

C# でタスクトレイアイコンとバルーン

デスクトップ通知に関して、ちょいと調べてみた。

一応デフォルトのものを使う場合だと、タスクトレイアイコン + バルーンヒントで動かすのが基本みたい


環境は .NET Framework 2.0,1.1,1.0 で動かせる。

やり方 :

まずは、コンポーネントを追加。追加するのはこれ

image

画面の一番下にある、「NotifyIcon」。そのまんまだな

んで、ソースコードをさくさくと。ボタンを数個配置して、3つの機能を定義

  • 通知領域アイコンの表示
  • 通知領域アイコンの非表示
  • バルーンの表示

image

こんな感じの画面にして、ソースはこんな感じ

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace IconPlusBalloon
{
public partial class FormIconPlusBalloon : Form
{
private const string FILENAME_NOTIFY_ICON = @".\Notify.ico";

public FormIconPlusBalloon()
{
InitializeComponent();
}

private void buttonActive_Click(object sender, EventArgs e)
{
// アイコンの設定
notifyIcon1.Icon = new Icon(FILENAME_NOTIFY_ICON);
}

private void buttonDeactive_Click(object sender, EventArgs e)
{
// アイコン設定の解除
notifyIcon1.Icon = null;
}

private void buttonBalloon_Click(object sender, EventArgs e)
{
if ( notifyIcon1.Icon != null )
{
// バルーンのタイトル設定
notifyIcon1.BalloonTipTitle = textBoxBalloonTitle.Text;

// バルーンのメッセージ設定
notifyIcon1.BalloonTipText = textBoxBalloonMessage.Text;

// バルーンの表示(2000msec))
notifyIcon1.ShowBalloonTip(2000);
}
}

}
}

んで、テキストボックスに文字を突っ込んで、バルーン表示ボタンを押すと

image

こんな感じで表示される。

ちなみに、バルーンがクリックされたときのハンドラ、通知アイコンのコンテキストメニューとか、全部用意されてるみたい。

追記 : つか、Visibleあるんだから、なんでIconのオンオフで表示/非表示切り替えてんだ俺・・・

0 件のコメント:

コメントを投稿