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

我使用的是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);
    }
}

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

编辑:在XP上运行经典主题和Dan的测试复制后,问题似乎是边框和填充的厚度,这将切断g。

BorderStyle设置为FixedSingle或None可修复问题。

domainUpDown1.BorderStyle = BorderStyle.FixedSingle;

要么

domainUpDown1.BorderStyle = BorderStyle.None;

你需要看看你的应用中看起来最好的东西。 哦,并将您的主题设置为XP(而不是经典)也可以。

链接地址: http://www.djcxy.com/p/61987.html

上一篇: DomainUpDown (spinner) control is cutting off the bottom pixel of displayed text

下一篇: Panel.Dock Fill ignoring other Panel.Dock setting