如何在MenuItem中放置一个图标

Bar*_*ens 16 .net c# .net-2.0 winforms

有没有办法在MenuItem中的文本旁边放置一个图标?

当用户右键单击用户控件时,我使用以下代码显示弹出菜单:

 ContextMenu menu = new ContextMenu();
 MenuItem item = new MenuItem("test", OnClick);
 menu.MenuItems.Add(item);
 menu.Show(this, this.PointToClient(MousePosition));
Run Code Online (Sandbox Code Playgroud)

我想在弹出菜单中的"test"字符串左侧放置一个图标,以便用户更容易识别它.有没有办法做到这一点,除了将OwnerDraw属性设置为true(因此要求我自己完全绘制菜单项,就像在这个例子中做的那样:http://www.codeproject.com/KB/menus/ cs_menus.aspx)?

任何帮助表示赞赏.

Lar*_*ech 18

尝试使用ContextMenuStrip并向其添加ToolStripMenuItems.

如果必须使用MenuItem,则必须通过DrawItem事件将OwnerDraw属性设置为true来执行此操作.


Han*_*ant 10

这是在6年前使用.NET 2.0版本修复的.它获得了ToolStrip类.代码非常相似:

        var menu = new ContextMenuStrip();
        var item = new ToolStripMenuItem("test");
        item.Image = Properties.Resources.Example;
        item.Click += OnClick;
        menu.Items.Add(item);
        menu.Show(this, this.PointToClient(MousePosition));
Run Code Online (Sandbox Code Playgroud)