注意:画像の表示方法が分からないという方は、まず「コントロールやフォームに画像を表示する」をご覧ください。
ツールバーなどで使用できないボタンの画像は灰色で表示されますが、このように無効状態で画像を表示するには、ControlPaint.DrawImageDisabledメソッドを使います。しかし下の結果を見ていただければ分かるとおり、Windowsでよく見られる立体的な無効状態の画像とは違います。立体的な無効状態の画像を表示させる方法は、「.NETプログラミング研究」の第5号で紹介しています。
'Imports System.Drawing '描画先とするImageオブジェクトを作成する Dim canvas As New Bitmap(PictureBox1.Width, PictureBox1.Height) 'ImageオブジェクトのGraphicsオブジェクトを作成する Dim g As Graphics = Graphics.FromImage(canvas) '画像を取得 Dim img As Bitmap = SystemIcons.WinLogo.ToBitmap() '画像を普通に表示 g.DrawImage(img, 0, 0) '画像を無効状態で表示 ControlPaint.DrawImageDisabled(g, img, img.Width + 10, 0, _ PictureBox1.BackColor) 'リソースを解放する 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); //画像を取得 Bitmap img = SystemIcons.WinLogo.ToBitmap(); //画像を普通に表示 g.DrawImage(img, 0, 0); //画像を無効状態で表示 ControlPaint.DrawImageDisabled(g, img, img.Width + 10, 0, PictureBox1.BackColor); //リソースを解放する g.Dispose(); //PictureBox1に表示する PictureBox1.Image = canvas;
また、文字列を無効状態で描画するには、ControlPaint.DrawStringDisabledメソッドを使います。しかしこれもまた結果はWindowsでよく見られるものとは若干色が違います。こちらも詳しくは「.NETプログラミング研究」の第5号をご覧ください。