[MenuStrip][Tips] メニュー項目にイメージを表示する

スポンサーリンク

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

コメント

タイトルとURLをコピーしました