メニュー項目にイメージを表示する方法には大きく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:
コメント