1

任何帮助都会很棒,在此先感谢您。现在我正在硬编码每个字符大小

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

并存储在哈希表中

我当前的页面有一个菜单,每个类别都取自数据库

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

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

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

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

根据浏览器的不同,它只是字符的大小。

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

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

4

1 回答 1

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);
}
于 2013-06-13T04:03:50.360 回答