是否可以为System.Windows.Forms.Combobox-Control设置小于21像素的高度

时间:2010-02-12 14:30:49

标签: c# winforms combobox

Hello社区

我对System.Windows.Forms.Combobox-Control的高度有疑问。我无法改变它。我想用它来编写自己的实现(所有者绘制的自定义控件)。

以下代码对我不起作用(仅限尝试)。身高仍然是21px!

public class TestBox : ComboBox
{
    public TestBox()
    {
        DropDownHeight = 15;
    }

    protected override Size DefaultSize
    {
        get
        {
            return new Size(15,15);
        }
    }

    protected override void SetBoundsCore(int x, int y, int width, int height, BoundsSpecified specified)
    {
        base.SetBoundsCore(x, y, 15, 15, specified);
    }
}

请帮帮我。

Regars, 马可

1 个答案:

答案 0 :(得分:4)

  

应调整ComboBox高度   基于分配给的字体   它

因此,更改组合字体。见another discussion on this subject

ComboBox的MinimumSize属性编码如下:

public override Size MinimumSize
{
    get
    {
        return base.MinimumSize;
    }
    set
    {
        // can see that Height is not taken in consideration - is 0
        base.MinimumSize = new Size(value.Width, 0); 
    }
}