2012-10-10 38 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