如何配置ToolStripDropdownbutton大小以匹配父下拉按钮的大小?

时间:2011-09-05 13:46:49

标签: c# .net windows

我正在开发一个C#桌面应用程序。我使用menu strips control,其中我使用了drop down button

每当点击下拉列表时,它会显示项目,但下拉菜单的宽度似乎是问题,它总是更大。我希望它与按钮的大小相同。

以下是截图:

Screenshot

我正在努力配置:

  1. 我希望DropDown的宽度与按钮的宽度相同。
  2. 下拉列表的箭头应该更大。
  3. 按钮应该是弯曲的,而不是平面样式,它是ToolStripDropdown按钮。

2 个答案:

答案 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