動作確認環境: .NET Framework 3.5、Visual Studio 2010、Windows 7、Windows API Code Pack 1.1

更新日: 2010 年 12 月 24 日

執筆者: マイクロソフト株式会社
デベロッパー エバンジェリスト
田中達彦

Windows API Code Pack を使用すると、Windows 7 のタスク バー上に表示される縮小表示 (サムネイル) として、特定の画像を表示させることができます。
ただし特定の画像を表示できるサムネイルは、タブ コントロールを使用している場合に限られます。

サムネイルに特定の画像を表示する実装方法を説明します。説明には、Windows フォーム アプリケーションに、タブ コントロールを貼り付けたアプリケーションを使用します。
Visual Studio を起動し、新たに .NET Framework 3.5 以上の Windows フォーム アプリケーションのプロジェクトを作成します。そして、フォーム上に TabControl と、Button を貼り付けてください。

Windows API Code Pack のタスク バー関連の機能を使用するために、Visual Studio のメニューより [プロジェクト] - [参照の追加] を選択し、[参照] タブより Windows API Code Pack で提供している Microsoft.WindowsAPICodePack.Shell.dll への参照を追加し、[.NET] タブより PresentationCore と WindowsBase への参照も追加してください。

Form1.cs のソース コードには、以下の 2 つのコードを記述します。
最初に、コードの先頭の using が書かれている部分に、以下のコードを追加します。

[C#]

C#
// タスクバーの機能を使用するために必要
using Microsoft.WindowsAPICodePack.Taskbar;
 

フォーム上に貼り付けているボタンをダブルクリックし、ボタンをクリックしたときに呼ばれるイベント ハンドラーである button1_Click を作成します。そして、その button1_Click イベント ハンドラーを以下のように記述します。

[C#]

C#
private void button1_Click(object sender, EventArgs e)
{
    // 選択しているタブのサムネイルを作成する
    TabbedThumbnail preview = new TabbedThumbnail(Handle, tabControl1.SelectedTab);
    TaskbarManager.Instance.TabbedThumbnail.AddThumbnailPreview(preview);
            
    // サムネイルとして表示させる画像を指定する
    Bitmap picture = new Bitmap(@"C:\Users\Public\Pictures\Sample Pictures\tulips.jpg");
    preview.SetImage(picture);
}
 

上記のプログラムを実行した直後は、アプリケーション全体の画像をサムネイルとして表示しています。フォーム上のボタンをクリックすることにより、サンプル ピクチャのフォルダーにあるチューリップの画像をサムネイルとして表示します。フォルダーとファイル名を変えることにより、任意の画像を表示させることができます。画像ファイルをリソースとして登録し、そのリソースを使用することもできます。

このサンプルでは、ボタンをクリックしたときにタブに対応させたサムネイルを作り、そのサムネイルの画像の変更を行っています。実際には、タブに対応したサムネイルをフォームの読み込み時などのアプリケーション実行の最初の段階で作成し、その後にサムネイルに表示させる画像の登録を行います。


Code Recipe Code Recipe

ページのトップへ