メニュー項目にイメージを表示する方法には大きく2つあります。
1つはファイルから読み込んで表示する方法、もう1つはImageListコントロールに設定しておいたイメージを割り当てる方法です。
まずファイルから読み込む方法ですが、ImageクラスのFromFileメソッドを使用します。
例えば C:\Work\CopyHS.bmp をイメージとして設定する場合には下記のようにします。
VBの例
Dim item1 As New ToolStripMenuItem
'★★★メニュー項目に表示するイメージを設定する(ファイルからの読み込み)★★★
item1.Image = Image.FromFile("C:\Work\CopyHS.bmp")
C#の例
ToolStripMenuItem item1 = new ToolStripMenuItem(); // ★★★メニュー項目に表示するイメージを設定する(ファイルからの読み込み)★★★ item1.Image = Image.FromFile(@"C:\Work\CopyHS.bmp");
また、ImageListを利用する場合は、ToolStripMenuItemのImageIndexプロパティに表示するイメージのインデックスを指定します。下記に例を示します。(ImageListコントロールにイメージが設定されてあるものとします)
VBの例
Dim item1 As New ToolStripMenuItem '★★★メニュー項目に表示するイメージを設定する(イメージリストからの読み込み)★★★ item1.ImageIndex = 2
C#の例
ToolStripMenuItem item1 = new ToolStripMenuItem(); // ★★★メニュー項目に表示するイメージを設定する(イメージリストからの読み込み)★★★ item1.ImageIndex = 2;
上記を踏まえ、メニューにイメージを表示する例を下記に示します。
VBの例
' フォームロード時の処理
Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim item1 As New ToolStripMenuItem
Dim item2 As New ToolStripMenuItem
'コンテキストメニューにイメージリストを設定
ContextMenuStrip1.ImageList = ImageList1
'メニュー項目のテキストを設定
item1.Text = "コピー(&C)"
item2.Text = "切り取り(&T)"
'★★★メニュー項目に表示するイメージを設定する(ファイルからの読み込み)★★★
item1.Image = Image.FromFile("C:\Work\CopyHS.bmp")
'★★★メニュー項目に表示するイメージを設定する(イメージリストからの読み込み)★★★
item2.ImageIndex = 2
'イメージの透過色にする色を設定
item1.ImageTransparentColor = Color.Black
item2.ImageTransparentColor = Color.Black
'メニュー項目を追加
ContextMenuStrip1.Items.Add(item1)
ContextMenuStrip1.Items.Add(item2)
'フォームのコンテキストメニューの設定
Me.ContextMenuStrip = ContextMenuStrip1
End Sub
C#の例
// フォームロード時の処理
private void Form2_Load(object sender, EventArgs e)
{
ToolStripMenuItem item1 = new ToolStripMenuItem();
ToolStripMenuItem item2 = new ToolStripMenuItem();
//コンテキストメニューにイメージリストを設定
contextMenuStrip1.ImageList = imageList1;
// メニュー項目のテキストを設定
item1.Text = "コピー(&C)";
item2.Text = "切り取り(&T)";
// ★★★メニュー項目に表示するイメージを設定する(ファイルからの読み込み)★★★
item1.Image = Image.FromFile(@"C:\Work\CopyHS.bmp");
// ★★★メニュー項目に表示するイメージを設定する(イメージリストからの読み込み)★★★
item2.ImageIndex = 2;
// イメージの透過色にする色を設定
item1.ImageTransparentColor = Color.Black;
item2.ImageTransparentColor = Color.Black;
// メニュー項目を追加
contextMenuStrip1.Items.Add(item1);
contextMenuStrip1.Items.Add(item2);
// フォームのコンテキストメニューの設定
this.ContextMenuStrip = contextMenuStrip1;
}
Please follow and like us:


コメント