C# - 在MenuItem的右侧显示图像

时间:2017-05-31 05:25:37

标签: c# winforms

我有一个带有文字Chart Type的MenuItem。在那,我有子MenuItems。现在,在带有文本A的MenuItem中,我想要一个右侧的图像。

应该有两种不同的点击行为,一种是单击MenuItem,另一种是单击右侧的图像。但我无法在那里得到图像。我尝试了什么 -

    mnItem = new MenuItem("A", new EventHandler(A_Clicked));
    mnItem.OwnerDraw = true;            
    mnItem.DrawItem += mnItem_DrawItem;
    mnItemContainer.MenuItems.Add(mnItem);

    void mnItem_DrawItem(object sender, DrawItemEventArgs e)
    {        
        System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
        Image zeroIconBmp = ((System.Drawing.Image)(resources.GetObject("cmdSearch.Image")));
        double factor = (double)e.Bounds.Height / zeroIconBmp.Height;
        var rect = new Rectangle(e.Bounds.X, e.Bounds.Y,
                             (int)(zeroIconBmp.Width * factor),
                             (int)(zeroIconBmp.Height * factor));
        e.Graphics.DrawImage(zeroIconBmp, rect);
    }
  

我一定会使用MenuItem。

enter image description here

1 个答案:

答案 0 :(得分:2)

默认方式如下:

您需要做的就是设置Image的{​​{1}}属性。

请注意,MenuItem不是ToolstripMenuItem

通过MenuItem

enter image description here

通过Designer

enter image description here

结果:enter image description here