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

Rob*_*bin 7 c# label text-alignment winforms

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

在此输入图像描述

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

在此输入图像描述

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

Han*_*ant 12

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

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