如何更改组合框按钮的宽度?

时间:2018-09-19 02:29:12

标签: c# winforms

我的组合框允许在文本部分中键入内容,因此获取下拉列表的唯一方法是单击按钮。但是,由于它将在触摸屏设备上使用,因此当它很“薄”时很难单击它。

有没有办法增加组合框按钮的宽度?

enter image description here

2 个答案:

答案 0 :(得分:3)

调整按钮大小的另一种方法是在DroppedDown事件中将true属性设置为Click。当用户在ComboBox的编辑区域内单击时,将显示下拉列表,从而将按钮区域有效地扩展到整个控件:

private void comboBox1_Click(object sender, EventArgs e)
{
    comboBox1.DroppedDown = true;
}

答案 1 :(得分:1)

如果要自定义下拉按钮(箭头的大小和按钮的大小完全在我们的控件中),则有一个名为Combo​Box​Renderer的类。

这里有完整的示例。

https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.comboboxrenderer?view=netframework-4.7.2

.Net2.0支持。

您应该创建一个自定义ComboBox控件,并在绘画事件中调用DrawDropDownButton中的comboboxrenderer

在上面的链接(示例)中,arrowSizearrowRectangle是两个变量,可帮助确定下拉按钮的大小,以及下面的(ComboBoxRenderer的静态函数)在覆盖的油漆中的调用事件。

ComboBoxRenderer.DrawDropDownButton(e.Graphics, arrowRectangle,arrowState);