如何获得字符大小?

时间:2013-06-13 03:56:55

标签: c# asp.net

任何帮助都会很棒,谢谢你提前。现在我很难编码每个字符大小

such as A = 8px and B = 7px etc

并存储在哈希表中

我当前页面有一个菜单,其中每个类别都来自数据库

所以菜单可以在需要时更改

例如,我可以在菜单部分中有10个类别,例如评论,联系我们和产品。

问题是菜单部分的长度是1000px宽度

它会在某些浏览器中正确显示,例如IE 7-10和Chrome,它会超过流向两侧的长度。

根据浏览器的不同,它只是角色的大小。

所以每个类别都适合菜单。他们是一种方法或某种方式来获得一个单词的大小,以便它能正确显示在主要浏览器上吗?

感谢抱歉,措辞和语法英语不是我的第一语言。

1 个答案:

答案 0 :(得分:2)

要执行此操作,您必须声明字典并将其存储在Application中。我将把这个细节留下来,但声明可能是Dictionary<char, int>。然后,您需要一个chars数组来列出要测量的字符。它可能被定义为char[] chars = new char[] { 'a', 'b', ... }

同样,这两者都需要存储在Application

然后要构建字典,你可以做这样的事情(在Global.asax文件中):

var b = new Bitmap(500, 200);
var g = Graphics.FromImage(b);

for (int i = 0; i < chars.Length; i++)
{
    var len = g.MeasureString(chars[i] as string, new Font("Arial", 12));
    dict.Add(chars[i], len);
}