2017-05-31 93 views
1

我有一個MenuItem和文本Chart Type。在那裏,我有子MenuItems。現在,在一個帶有文本A的MenuItem中,我需要一個右側的圖像。C# - 在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); 
    } 

我一定要使用菜單項。

enter image description here

+0

爲什麼你需要它的權利?它打破了默認模式.... –

+0

在左邊,我有刻度線。意味着選中的菜單項會被打上一個正確的符號(✔)。 –

+0

@FelixD。如果我即使在左邊也能看到圖像,那也沒問題。 –

回答

2

默認的方法是這樣的:

所有你需要做的是設置Image propertie您MenuItem的。

請注意,這是ToolstripMenuItem而不是MenuItem

通過Designer

enter image description here

通過Code

enter image description here

結果:enter image description here

+0

我無法在MenuItem中獲取屬性'Image'。 –

+0

我使用'ToolStripMenuItem'。 'MenuItem'沒有這樣的屬性。 –

+0

是的,我需要尋找一些其他的工作。如果它符合我的設計,將嘗試'ToolStripMenuItem'。 –

相關問題