获取后面代码的字体属性

时间:2011-05-10 14:24:06

标签: c# .net asp.net

问题是,我需要使用Graphics.measureString来了解字符串在我的页面上呈现的长度(以像素为单位)。问题是,measureString需要知道什么字体系列和字体大小(例如Verdana 11)用于给我宽度。有关信息,Graphics.measureStrings需要测量字符串,字体系列和字体大小,然后它返回一个SizeF对象,您可以从中获取width属性,以便知道它在网页上的长度(它并不总是完全准确但是。)

所以,我想知道是否有一种方法可以从页面中获取该信息,或者我注定要在我的控件或某些常量类中的某处进行硬编码。

感谢未来(帮助)答案

2 个答案:

答案 0 :(得分:0)

如果您的控件有runat="server",那么您可以使用Style属性来获取font-familyfont-size

string fontFamily = myControl.Style["font-family"];
string fontSize =  myControl.Style["font-size"];

这仅适用于内联样式。

答案 1 :(得分:0)

您可以在Net Framework 4上使用System.Web.dll;例如:

CssStyleCollection css = CssStyleTools.Create();
css.Value = "border-top:1px dotted #BBB;margin-top: 0px;font-size:12px";
Console.WriteLine(css["margin-top"]); //prints "0px"

您可以查看" Change Font Family and Font Size using HtmlAgilityPack"。