在我的.net窗体中(我使用的是XP Pro SP3和VS 2010),我创建了一个menustrip。在menustrip中有几个菜单项,每个菜单项都有一个下拉菜单。下拉菜单中的菜单项每个都有一个带有一些文本的图标。我想通过减少图标和文本之间的水平空间来使菜单更紧凑。 (我在图片上添加了一个红色箭头以显示我正在谈论的空间。)
到目前为止,我已将所有菜单项的填充设置为0,但这似乎只会影响一个菜单项与下一个菜单项之间的垂直间距。
我想将系统 rendermode
用于menustrip(尽管问题仍然存在,无论我使用的是什么rendermode
。菜单中的图标是16x16,并且有财产sizetofit
。
有趣的是,这个相同的间距就是我在menustrip
中想要的方式 - 图标就在文本旁边。
这将完全删除图像边距,但它也会删除图像;我只是想改变图像边距的宽度。
For Each menuItem As ToolStripMenuItem In menu_main.Items
DirectCast(menuItem.DropDown, ToolStripDropDownMenu).ShowImageMargin = False
Next
我可以在这做什么?
答案 0 :(得分:2)
所以,这有点作弊,可能看起来不像你想要的那么干净,但是我能够通过让图像有文字然后设置以下属性来做到这一点。菜单项的设计者:
DisplayStyle = Image
ImageScaling = None