メニュー項目にイメージを表示するにはImageクラスのFromFileメソッドを使用します。
例えば C:\Work\NewDocumentHS.BMPをメニュー項目「新規作成」のイメージとして設定する例を見てみましょう。
C:\Work\NewDocumentHS.BMP は下記画像で16×16のBMPファイルです。
まず、メニュー項目「新規作成」を作成し、Imageプロパティに表示する画像を設定します。
次に、NewDocumentHS.BMP の黒の部分を透過するために ImageTransparentColorプロパティにColors.Blackを設定します。
VBの例
'表示するイメージの設定 menuFileNew.Image = Image.FromFile("C:\Work\NewDocumentHS.BMP") '透過色(ここでは黒)の設定 menuFileNew.ImageTransparentColor = Color.Black
C#の例
// 表示するイメージの設定 menuFileNew.Image = Image.FromFile(@"C:\Work\NewDocumentHS.BMP"); // 透過色(ここでは黒)の設定 menuFileNew.ImageTransparentColor = Color.Black;
上記のようにするとメニュー項目(この例では「新規作成」)の脇にイメージが表示されます。
上記を踏まえてメニューにイメージを表示する例を下記に示します。
VBの例
' フォームロード時の処理 Private Sub Form4_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Dim menuFile As New ToolStripMenuItem 'ファイル(&F) Dim menuFileNew As New ToolStripMenuItem '新規作成(&N) Dim menuFileOpen As New ToolStripMenuItem '開く(&O) Dim menuFileSeparator1 As New ToolStripSeparator 'セパレーター Dim menuFileSaveAs As New ToolStripMenuItem '名前を付けて保存(&A) Dim menuFileSave As New ToolStripMenuItem '上書き保存(&S) Dim menuFileSeparator2 As New ToolStripSeparator 'セパレーター Dim menuFileEnd As New ToolStripMenuItem '終了(&X) '項目の設定 menuFile.Text = "ファイル(&F)" menuFileNew.Text = "新規作成(&N)" menuFileOpen.Text = "開く(&O)" menuFileSaveAs.Text = "名前を付けて保存(&A)" menuFileSave.Text = "上書き保存(&S)" menuFileEnd.Text = "終了(&X)" '★★★ 各メニューにイメージを設定する ★★★ menuFileNew.Image = Image.FromFile("C:\Work\NewDocumentHS.BMP") menuFileNew.ImageTransparentColor = Color.Black menuFileOpen.Image = Image.FromFile("C:\Work\openfolderHS.bmp") menuFileOpen.ImageTransparentColor = Color.Black menuFileSaveAs.Image = Image.FromFile("C:\Work\saveHS.bmp") menuFileSaveAs.ImageTransparentColor = Color.Black menuFileSave.Image = Image.FromFile("C:\Work\SaveAllHS.bmp") menuFileSave.ImageTransparentColor = Color.Black '[ファイル(F)]項目に子項目を追加する menuFile.DropDownItems.Add(menuFileNew) menuFile.DropDownItems.Add(menuFileOpen) menuFile.DropDownItems.Add(menuFileSeparator1) menuFile.DropDownItems.Add(menuFileSaveAs) menuFile.DropDownItems.Add(menuFileSave) menuFile.DropDownItems.Add(menuFileSeparator2) menuFile.DropDownItems.Add(menuFileEnd) '[ファイル(F)]をメニューに追加する MenuStrip1.Items.Add(menuFile) End Sub
C#の例
// フォームロード時の処理 private void Form4_Load(object sender, EventArgs e) { ToolStripMenuItem menuFile = new ToolStripMenuItem(); // ファイル(&F) ToolStripMenuItem menuFileNew = new ToolStripMenuItem(); // 新規作成(&N) ToolStripMenuItem menuFileOpen = new ToolStripMenuItem(); // 開く(&O) ToolStripSeparator menuFileSeparator1 = new ToolStripSeparator(); // セパレーター ToolStripMenuItem menuFileSaveAs = new ToolStripMenuItem(); // 名前を付けて保存(&A) ToolStripMenuItem menuFileSave = new ToolStripMenuItem(); // 上書き保存(&S) ToolStripSeparator menuFileSeparator2 = new ToolStripSeparator(); // セパレーター ToolStripMenuItem menuFileEnd = new ToolStripMenuItem(); // 終了(&X) // ★★★項目の設定★★★ menuFile.Text = "ファイル(&F)"; menuFileNew.Text = "新規作成(&N)"; menuFileOpen.Text = "開く(&O)"; menuFileSaveAs.Text = "名前を付けて保存(&A)"; menuFileSave.Text = "上書き保存(&S)"; menuFileEnd.Text = "終了(&X)"; // ★★★ 各メニューにイメージを設定する ★★★ menuFileNew.Image = Image.FromFile(@"C:\Work\NewDocumentHS.BMP"); menuFileNew.ImageTransparentColor = Color.Black; menuFileOpen.Image = Image.FromFile(@"C:\Work\openfolderHS.bmp"); menuFileOpen.ImageTransparentColor = Color.Black; menuFileSaveAs.Image = Image.FromFile(@"C:\Work\saveHS.bmp"); menuFileSaveAs.ImageTransparentColor = Color.Black; menuFileSave.Image = Image.FromFile(@"C:\Work\SaveAllHS.bmp"); menuFileSave.ImageTransparentColor = Color.Black; // ★★★[ファイル(F)]項目に子項目を追加する★★★ menuFile.DropDownItems.Add(menuFileNew); menuFile.DropDownItems.Add(menuFileOpen); menuFile.DropDownItems.Add(menuFileSeparator1); menuFile.DropDownItems.Add(menuFileSaveAs); menuFile.DropDownItems.Add(menuFileSave); menuFile.DropDownItems.Add(menuFileSeparator2); menuFile.DropDownItems.Add(menuFileEnd); // ★★★[ファイル(F)]をメニューに追加する★★★ menuStrip1.Items.Add(menuFile); }
Please follow and like us:
コメント