2012-10-10 29 views
0

我希望能夠在mainMenu的菜單項旁邊顯示圖像和複選標記。目前,它既可以是圖片也可以是複選標記,但我恐怕同時不可能。複選標記和mainMenu項旁邊的圖像

Image

如果我添加menuItemOption1.Checked = true;,該項目被選中,但圖像不再顯示:

Check mark

我沒有找到任何其他方式向用戶展示一些菜單項目被檢查(不能改變文字顏色),有人可以想到任何方式嗎?

(我想繼續顯示爲我的菜單項的圖像沒有,那顯而易見的名字和圖像,爲用戶瞭解菜單的好辦法。)

+0

我想你應該OwnerDrawn菜單項工作。但這不是一件容易的事情 - http://msdn.microsoft.com/en-us/library/system.windows.forms.menuitem.ownerdraw.aspx#Y505 – Steve

回答

3

我通過簡單地改變菜單文本解決了這個:

menuItemOption1.Text = "[✓] Option 1"; 
1

你不能這樣做它從設計師,但你可以添加以下到您的代碼:

public Form1() { 
    InitializeComponent(); 

    ((ToolStripDropDownMenu)optionsMenu.DropDown).ShowCheckMargin = true; 
    ((ToolStripDropDownMenu)optionsMenu.DropDown).ShowImageMargin = true; 
} 
+0

這適用於'menuStrip',但不適用於'mainMenu':['menuItem']上沒有'DropDown'屬性(http://msdn.microsoft.com/en-us/library/system.windows.forms.menuitem.aspx)。 – Otiel

+0

@Otiel MainMenu對象沒有圖像,所以你必須繪製它已經不是你? MainMenu被MenuStrip取代。任何不使用MenuStrip的理由? – LarsTech

+0

我正在使用[VistaMenu](http://wyday.com/vistamenu/)將圖像添加到「MainMenu」中(但我相信,如果您不想使用任何第三方工具,添加圖像就像在'mainMenu'中添加'ImageList'一樣簡單 - 儘管我沒有嘗試過)。 – Otiel