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

我有一个标签, AutoEllipsis = trueTextAlign = ContentAlignment.MiddleLeft 。 当我输入不扩展标签宽度的文本时,文本垂直对齐到标签的中间。

在此处输入图像描述

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

在此处输入图像描述

为什么它会以这种方式运行,是否有办法使文本垂直居中对齐?

我看到了。 这看起来像底层winapi, DrawTextEx()的限制。 哪个没有得到Label类的大量帮助,它没有打开DT_SINGLELINE选项(又名TextFormatFlags.SingleLine),因为它能够渲染多行。 DrawTextEx()文档表明这是获取垂直居中文本(DT_VCENTER)所必需的。 所以真正的错误是它不应该集中在一起:)请注意,当你垂直生长标签时,你得到居中的文本。

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