如何在C#中使用MeasureString设置表格列宽?

2023-12-01

我有一个非常简单的(我希望是基本的)问题。我正在为我公司的网站修改一些 C# 代码。该代码在固定列中为我绘制了一个表格,其数据是从数据库中提取的。表格每列的高度是固定的(当前),我需要更改它,因此如果字符串具有一定的长度,因此换行,则第二行文本是可见的(而不是被下一行隐藏) 。

根据我的研究,我似乎可以使用 MeasureString (因为我知道字体和字符串)来查看字符串是否比我设置的表列长/宽,如果是这样,则更改行的高度。然而,我对 C# 编程非常陌生(除了 Web 之外,多年来我没有做过太多编程),所以我不确定如何实现所有这些。我已经有了逻辑,并且知道如何更改高度,我只需要知道如何获取一个实际数字,我可以使用逻辑来反对使用 MeasureString 方法(以及如何实例化我可能需要使用的任何变量和函数)那个方法)。


我相信你需要使用这个重载MeasureString(string,font,int):

width参数指定宽度分量的最大值 返回的 SizeF 结构(宽度)。如果宽度参数是 小于字符串的实际宽度,返回的Width分量 被截断为表示最大字符数的值 将适合指定的宽度。为了容纳整个 string,返回的Height分量被调整为一个值 允许显示带有换行符的字符串。

-- 来自上面链接的 MSDN 页面(重点是我的)

// Measure string (you'll need to instansiate your own graphics object, 
// since you wont have PaintEventArgs)
SizeF stringSize = new SizeF();
stringSize = e.Graphics.MeasureString(measureString, stringFont, stringWidth);
int cellHeight = stringSize.Height;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在C#中使用MeasureString设置表格列宽? 的相关文章

随机推荐