DomainUpDown(微调)控件正在切断显示文本的底部像素

时间:2009-08-10 21:01:25

标签: c# winforms

我正在使用winforms并且DomainUpDown控件的高度被锁定在20像素,这导致“y”和其他字符在底部被切除了下降。

我最初关于如何解决问题的想法是改变控件高度,但我不能这样做。在设计器中我只有控件来按宽度拖动它的大小。属性页面立即恢复我对高度的任何更改。尝试以静默方式更改代码中的值失败;没有错误,没有异常,但也没有改变值。

在此示例表单中,将切断DomainUpDown中的“g”。

public partial class Form1 : System.Windows.Forms.Form
{
    private System.Windows.Forms.DomainUpDown domainUpDown1 = new System.Windows.Forms.DomainUpDown();
    public Form1()
    {
        this.domainUpDown1.Location = new System.Drawing.Point(16, 8);
        this.domainUpDown1.Size = new System.Drawing.Size(212, 20);
        this.domainUpDown1.Text = "why are descenders like g cut?";
        this.ClientSize = new System.Drawing.Size(328, 64);
        this.Controls.Add(this.domainUpDown1);
    }
}

1 个答案:

答案 0 :(得分:1)

使用DomainUpDown控件时,我看到了相同的固定高度行为。您可以调整使用的字体大小,这会更改控件的高度以匹配文本。也许稍微调整文本的大小可以帮助用“下行”剪切字符。我看不到使用默认的8.25pt字体的剪辑。

修改 在运行经典主题的XP上复制并使用Dan的测试后,问题似乎是边框和填充的厚度,这会切断g。

BorderStyle设置为FixedSingle或无,可解决问题。

domainUpDown1.BorderStyle = BorderStyle.FixedSingle;

domainUpDown1.BorderStyle = BorderStyle.None;

您需要查看应用程序中最佳的内容。哦,将主题设置为XP(而不是经典)也会起作用。