我正在开发一个C#桌面应用程序。我使用menu strips control
,其中我使用了drop down button
。
每当点击下拉列表时,它会显示项目,但下拉菜单的宽度似乎是问题,它总是更大。我希望它与按钮的大小相同。
以下是截图:
我正在努力配置:
答案 0 :(得分:1)
不幸的是,你要反对这种控制,你需要使用自己的控件或自定义绘画来获得你想要的。
您应该可以使用自定义绘画更改下拉箭头的形状/大小。 您应该可以通过覆盖控件来限制下拉菜单的大小。 但是,由于下拉菜单中包含刻度线和快捷键的空间,我怀疑您可能需要做比预期更多的工作。
以下是您可能会发现有用的几点建议: http://connect.microsoft.com/VisualStudio/feedback/details/97456/owner-drawn-toolstripcombobox
这表明使用ToolStripControlHost(控件)来托管任意控件。 有一个简单的例子:http://alala666888.wordpress.com/2010/07/15/custom-toolstripitem/
http://www.codeproject.com/KB/static/DropDownContainer.aspx 这个项目(尽管在VB.Net中)显示了编写自己的控件以执行相同操作的许多问题。
还有一篇关于编写ToolStripRenderers的文章: http://www.codeproject.com/KB/menus/CustomToolStripRenderer.aspx
这是另一个基于C#的自定义控件示例: http://www.codeproject.com/KB/selection/office2003colorpicker.aspx
答案 1 :(得分:0)
您可以使用ComboBox控件,并将DropDownStyle更改为DropDownList。
有关如何使用ComboBox按钮的一些信息,请访问:http://social.msdn.microsoft.com/forums/en-US/winformsdesigner/thread/5d65f987-834c-465f-a944-622831d4cfb0