SystemIconsクラス(System.Drawing名前空間)のプロパティを参照することにより、Windowsのシステムのアイコン(既定のアプリケーションアイコン、エラーアイコン、疑問符アイコンなど)のIconオブジェクトを取得することができます。
次の例ではSystemIconsクラスから取得できる各アイコンを順番にPictureBox1に表示しています。
'Imports System.Drawing 'システムのアイコンを表示する '描画先とするImageオブジェクトを作成する Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height) 'ImageオブジェクトのGraphicsオブジェクトを作成する Dim g As Graphics = Graphics.FromImage(canvas) '既定のアプリケーションアイコン(WIN32: IDI_APPLICATION) g.DrawIcon(SystemIcons.Application, 0, 0) 'システムのアスタリスクアイコン(WIN32: IDI_ASTERISK) g.DrawIcon(SystemIcons.Asterisk, 40, 0) 'システムのエラーアイコン(WIN32: IDI_ERROR) g.DrawIcon(SystemIcons.Error, 80, 0) 'システムの感嘆符アイコン(WIN32: IDI_EXCLAMATION) g.DrawIcon(SystemIcons.Exclamation, 120, 0) 'システムの手の形のアイコン(WIN32: IDI_HAND) g.DrawIcon(SystemIcons.Hand, 160, 0) 'システムの情報アイコン(WIN32: IDI_INFORMATION) g.DrawIcon(SystemIcons.Information, 200, 0) 'システムの疑問符アイコン(WIN32: IDI_QUESTION) g.DrawIcon(SystemIcons.Question, 240, 0) 'システムの警告アイコン(WIN32: IDI_WARNING) g.DrawIcon(SystemIcons.Warning, 280, 0) 'Windowsのロゴアイコン(WIN32: IDI_WINLOGO) g.DrawIcon(SystemIcons.WinLogo, 320, 0) g.Dispose() 'PictureBox1に表示する PictureBox1.Image = canvas
//using System.Drawing; //システムのアイコンを表示する //描画先とするImageオブジェクトを作成する Bitmap canvas = new Bitmap(PictureBox1.Width, PictureBox1.Height); //ImageオブジェクトのGraphicsオブジェクトを作成する Graphics g = Graphics.FromImage(canvas); //既定のアプリケーションアイコン(WIN32: IDI_APPLICATION) g.DrawIcon(SystemIcons.Application, 0, 0); //システムのアスタリスクアイコン(WIN32: IDI_ASTERISK) g.DrawIcon(SystemIcons.Asterisk, 40, 0); //システムのエラーアイコン(WIN32: IDI_ERROR) g.DrawIcon(SystemIcons.Error, 80, 0); //システムの感嘆符アイコン(WIN32: IDI_EXCLAMATION) g.DrawIcon(SystemIcons.Exclamation, 120, 0); //システムの手の形のアイコン(WIN32: IDI_HAND) g.DrawIcon(SystemIcons.Hand, 160, 0); //システムの情報アイコン(WIN32: IDI_INFORMATION) g.DrawIcon(SystemIcons.Information, 200, 0); //システムの疑問符アイコン(WIN32: IDI_QUESTION) g.DrawIcon(SystemIcons.Question, 240, 0); //システムの警告アイコン(WIN32: IDI_WARNING) g.DrawIcon(SystemIcons.Warning, 280, 0); //Windowsのロゴアイコン(WIN32: IDI_WINLOGO) g.DrawIcon(SystemIcons.WinLogo, 320, 0); g.Dispose(); //PictureBox1に表示する PictureBox1.Image = canvas;
結果として、例えばWindows 2000では次のように表示されました。
Windows 7では次のように表示されました。
表にまとめると、次のようになります。
SystemIconsメンバ | 画像 | 説明 | WIN32 |
---|---|---|---|
Application | 既定のアプリケーション アイコン | IDI_APPLICATION | |
Asterisk | システムのアスタリスク アイコン | IDI_ASTERISK | |
Error | システムのエラー アイコン | IDI_ERROR | |
Exclamation | システムの感嘆符アイコン | IDI_EXCLAMATION | |
Hand | システムの手の形のアイコン | IDI_HAND | |
Information | システムの情報アイコン | IDI_INFORMATION | |
Question | システムの疑問符アイコン | IDI_QUESTION | |
Warning | システムの警告アイコン | IDI_WARNING | |
WinLogo | Windows のロゴ アイコン | IDI_WINLOGO | |
Shield | ユーザー アカウント制御 (UAC: User Account Control) のシールド アイコン .NET Framework 3.5から追加 |
補足:WinLogoはWindows XPから既定のアプリケーションアイコンと同じになりました。詳しくは「Microsoft Windows ロゴ アイコンの代わりに汎用的なウィンドウのアイコンが表示されます。」をご覧ください。