gpt4 book ai didi

c# - 如何获取文本基线与标签水平边框之间的距离?

转载 作者:行者123 更新时间:2023-11-30 16:18:30 25 4
gpt4 key购买 nike

我想在 C# 中获取文本基线与标签底部边框之间的准确距离。我想要这个是因为我想在文本下面画一条线(不想使用带下划线的字体,因为它太紧/太靠近文本)。

这是我的尝试:

//This is placed in the custom label class
int dy = (int)((ClientRectangle.Height - Font.GetHeight())/2);

但这并不准确,dy 返回大约 3,并且绘制到标签的线距离文本的基线太远。

最佳答案

要获取标签的文本基线,假设您在自定义标签类中,在绘图处理程序中。

Font myFont = this.Font;
FontFamily ff = myFont.FontFamily;

float lineSpace = ff.GetLineSpacing(myFont.Style);
float ascent = ff.GetCellAscent(myFont.Style);
float baseline = myFont.GetHeight(e.Graphics) * ascent / lineSpace;

致谢 here .

关于c# - 如何获取文本基线与标签水平边框之间的距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16083873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com