Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何配置ToolStripDropdownbutton大小以匹配父下拉按钮的大小?_C#_.net_Windows - Fatal编程技术网

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

C# 如何配置ToolStripDropdownbutton大小以匹配父下拉按钮的大小?,c#,.net,windows,C#,.net,Windows,我正在开发一个C#桌面应用程序。我使用的是菜单条控件,其中我使用了下拉按钮 无论何时单击下拉菜单,它都会显示项目,但下拉菜单的宽度似乎是个问题,它总是更大。我希望它和按钮的大小一样 以下是一个屏幕截图: 我正在努力配置的内容: 我希望下拉列表的宽度与按钮的宽度相同 下拉列表的箭头应该更大 按钮应该是弯曲的,而不是扁平的,它是一个ToolStripDropdownbutton 您可以使用ComboBox控件,将DropDownStyle更改为DropDownList 有关如何在组合框中使用按钮的

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

无论何时单击下拉菜单,它都会显示项目,但下拉菜单的宽度似乎是个问题,它总是更大。我希望它和按钮的大小一样

以下是一个屏幕截图:

我正在努力配置的内容:

  • 我希望下拉列表的宽度与按钮的宽度相同
  • 下拉列表的箭头应该更大
  • 按钮应该是弯曲的,而不是扁平的,它是一个ToolStripDropdownbutton

  • 您可以使用ComboBox控件,将DropDownStyle更改为DropDownList


    有关如何在组合框中使用按钮的一些信息,请参见此处:

    不幸的是,您违反了此控件的规则,您需要使用自己的控件或自定义绘制来获得所需的内容

    您应该能够使用自定义绘制更改下拉箭头的形状/大小。 您应该能够通过覆盖控件来限制下拉菜单的大小。 但是,由于下拉菜单中有刻度和快捷方式字符串的空间,我怀疑您可能需要做比预期更多的工作

    以下是一些您可能会觉得有用的提示:

    这建议使用ToolStripControlHost(控件)托管任意控件。 举一个简单的例子:

    这个项目(虽然是在VB.Net中)显示了编写自己的控件来完成相同任务时的许多问题

    还有这篇关于编写ToolStripRenders的文章:

    下面是另一个基于C#的自定义控件示例:

    您是在谈论wpf、silverlight、winforms还是…?这不是菜单条中的适当控件。它被设计用于工具条上。它会自动调整自身尺寸以适应工具条高度。它将在菜单条中有一个固定的大小,因为你不能改变它的高度,它是由字体大小预设的。