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

标签 c# .net windows

我正在开发 C# 桌面应用程序。我正在使用一个菜单条控件,我在其中使用了一个下拉按钮

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

截图如下:

Screenshot

我正在努力配置的内容:

  1. 我希望 DropDown 的宽度与按钮的宽度相同。
  2. 下拉菜单的箭头应该更大一些。
  3. 按钮应该是弯曲的,而不是平面样式,它是一个 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/

相关文章:

c# - 我的代码可以证明 SQL 注入(inject)吗?

c# - 使用 ExecuteNonQuery 的并发问题

c# - 有人可以解释这个类(产生可改变的正弦波频率)如何工作吗?

windows - 为什么editbin/swaprun :CD/swaprun:NET change two bytes?

c++ - 在 Windows 上模拟原始输入

c# - 绝对简单的 C# 文件保存问题

c# - 如何在 C# 中自动递增数字?

c# - 找不到路径的一部分 'C :\\Windows\\System32\\oobe\\info\\Backgrounds

.net - 使用 Dapper 从存储过程中获取字段名称

mysql - 如何在 XAMPP for Windows 上激活 MySQL 数据库