我正在开发 C# 桌面应用程序。我正在使用一个菜单条控件
,我在其中使用了一个下拉按钮
。
每当单击下拉菜单时,它都会显示项目,但下拉菜单的宽度似乎是个问题,它总是更大。我希望它与按钮的大小相同。
截图如下:
我正在努力配置的内容:
- 我希望 DropDown 的宽度与按钮的宽度相同。
- 下拉菜单的箭头应该更大一些。
- 按钮应该是弯曲的,而不是平面样式,它是一个 ToolStripDropdownbutton。
最佳答案
不幸的是,您违背了这个控件的原则,您将需要求助于您自己的控件或自定义绘画来获得您想要的。
您应该能够使用自定义绘画更改下拉箭头的形状/大小。 您应该能够通过覆盖控件来限制下拉菜单的大小。 但是,由于下拉菜单中有用于标记和快捷字符串的空间,我怀疑您可能需要做比预期更多的工作。
以下是一些您可能会觉得有用的建议: http://connect.microsoft.com/VisualStudio/feedback/details/97456/owner-drawn-toolstripcombobox
这建议使用 ToolStripControlHost(control) 来托管任意控件。 举个简单的例子: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
关于c# - 如何配置 ToolStripDropdownbutton 大小以匹配父下拉按钮的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7308995/