减少菜单项的图标与其文本之间的空间

时间:2012-02-08 19:35:57

标签: vb.net winforms menuitem

在我的.net窗体中(我使用的是XP Pro SP3和VS 2010),我创建了一个menustrip。在menustrip中有几个菜单项,每个菜单项都有一个下拉菜单。下拉菜单中的菜单项每个都有一个带有一些文本的图标。我想通过减少图标和文本之间的水平空间来使菜单更紧凑。 (我在图片上添加了一个红色箭头以显示我正在谈论的空间。)

enter image description here

到目前为止,我已将所有菜单项的填充设置为0,但这似乎只会影响一个菜单项与下一个菜单项之间的垂直间距。

我想将系统 rendermode用于menustrip(尽管问题仍然存在,无论我使用的是什么rendermode。菜单中的图标是16x16,并且有财产sizetofit

有趣的是,这个相同的间距就是我在menustrip中想要的方式 - 图标就在文本旁边。

这将完全删除图像边距,但它也会删除图像;我只是想改变图像边距的宽度。

    For Each menuItem As ToolStripMenuItem In menu_main.Items
        DirectCast(menuItem.DropDown, ToolStripDropDownMenu).ShowImageMargin = False
    Next

我可以在这做什么?

1 个答案:

答案 0 :(得分:2)

所以,这有点作弊,可能看起来不像你想要的那么干净,但是我能够通过让图像有文字然后设置以下属性来做到这一点。菜单项的设计者:

DisplayStyle = Image

ImageScaling = None

enter image description here