我正在使用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); } }
答案 0 :(得分:1)
使用DomainUpDown控件时,我看到了相同的固定高度行为。您可以调整使用的字体大小,这会更改控件的高度以匹配文本。也许稍微调整文本的大小可以帮助用“下行”剪切字符。我看不到使用默认的8.25pt字体的剪辑。
修改强> 在运行经典主题的XP上复制并使用Dan的测试后,问题似乎是边框和填充的厚度,这会切断g。
将BorderStyle
设置为FixedSingle
或无,可解决问题。
domainUpDown1.BorderStyle = BorderStyle.FixedSingle;
或
domainUpDown1.BorderStyle = BorderStyle.None;
您需要查看应用程序中最佳的内容。哦,将主题设置为XP(而不是经典)也会起作用。