メニュー項目にイメージを表示するには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:



コメント