我有一个常规标签,TextAlign属性设置为MiddleCenter . 标签用于保存具有分钟和秒的时间值,并将用作秒表 .
如果字体较小,则标签垂直对齐 . 但是,随着字体大小的增加,垂直对齐变得有问题......
看这里的截图,你会看到我的意思:
screenshot http://s12.postimage.org/5c6f7ufgt/clock.png
据我所知,我认为.NET技术上是正确的 - 我认为垂直对齐从印刷意义来看是正确的,因为字体上升和下降等 . 然而,在这种情况下,这并不符合我的需要 . 在屏幕截图中,标签的顶部比标签的底部具有更多的空间 . 当显示数字时,我希望这两个部分相等 . 我只使用数字和冒号,所以如果包含其他字符,例如“g”,显然会将像素悬挂在基线下方,我对它的外观不感兴趣 .
我尝试调整填充以强制执行此行为,但它只是导致文本被剪切,.NET不会让我使用负填充/边距 . 有没有简单的方法来完成我想要的东西?我还尝试手动编辑ttf字体文件并更改字体上升/下降,以便.NET以不同方式对齐但无法弄清楚 . 谢谢你的建议 .
我使用的字体文件在这里下载:http://www.fontspace.com/style-7/digital-7
1 回答
似乎如果比例很大,文本只是“下沉”,最终会被切断 .
在Form ResizeEnd事件上尝试此操作:
我修改了这个:https://stackoverflow.com/a/9645577/1027551