C# AutoEllipsis=true会影响文本的垂直位置

C# AutoEllipsis=true会影响文本的垂直位置,c#,winforms,label,text-alignment,C#,Winforms,Label,Text Alignment,我有一个标签,上面有AutoEllipsis=true和TextAlign=ContentAlignment.middleft。当我输入一个不延伸标签宽度的文本时,该文本与标签的中间垂直对齐 但是,当文本延伸标签宽度时,文本不会与中间对齐,而是与顶部对齐 为什么会这样,有没有办法保持文本垂直居中对齐?我看到了。这看起来像是基础winapi中的一个限制。它没有从Label类得到很多帮助,它没有打开dtu SINGLELINE选项(又名TextFormatFlags.SINGLELINE),因为

我有一个标签,上面有
AutoEllipsis=true
TextAlign=ContentAlignment.middleft
。当我输入一个不延伸标签宽度的文本时,该文本与标签的中间垂直对齐

但是,当文本延伸标签宽度时,文本不会与中间对齐,而是与顶部对齐


为什么会这样,有没有办法保持文本垂直居中对齐?

我看到了。这看起来像是基础winapi中的一个限制。它没有从Label类得到很多帮助,它没有打开dtu SINGLELINE选项(又名TextFormatFlags.SINGLELINE),因为它能够呈现多行。DrawTextEx()说明获取垂直居中文本(DT_VCENTER)所需的文件。所以真正的错误是它根本不应该居中:)请注意,垂直增长标签时,文本确实居中


解决此问题的最简单方法是将标签的UseCompatibleTextRendering属性设置为True。

我所做的是将边距属性的顶部和底部设置为3,效果很好。 所以你的利润率是(3,3,3,3)