情况这样的 我再说下 我用的是PDA做的程序 winmobile操作系统
如果说您不理解这个操作系统也没关系 ,我说下具体情况我要求Listbox对齐:
效果例如:
123456 我们是中国人 2 3
123456 我们sidf 2 2
213456 我们wi2 2 3
我公式又写了一个而且PC上运行完全OK 因为这个盘点机特殊 他的w和i的宽度都不一样 汉字和数字也不一样 数字和字母的宽度也不一样 不同字母的宽度也不一样 也就说说我的代码在电脑机器上已经可以达到上面的效果了,因为电脑上的是2个英文的宽度等于一个中文的宽度,每个英文的显示宽度相等,所以补充空格的方法可以做到看我代码: private string jq(string tiaoma, string mingcheng, string yuanshi)
{
string b1 = null;
string b2 = null;
string b1b2 = null;
int b1b2len = 0;
if (tiaoma.Length <= 6)
{
b1 = tiaoma + ' ' + ' ';
}
else
{
b1 = tiaoma.Substring(tiaoma.Length - 6) + ' ' + ' ';
}
if (Encoding.GetEncoding("gb2312").GetByteCount(mingcheng) > 18)
{
b2 = mingcheng.Substring(9 - mingcheng.Length);
}
else
{
if (mingcheng.Length <= 9)
{
b2 = mingcheng.Substring(0);
}
else
{
b2 = mingcheng.Substring(0, 9);
}
}
b1b2 = b1 + b2;
b1b2len = Encoding.GetEncoding("gb2312").GetByteCount((b1 + b2));
while (b1b2len < 40)
{
b1b2 += ' ';
b1b2len++;
}
return b1b2; }
但是PDA他的屏幕是字母i和w的实际显示宽度不一样,而且也不是2个字母宽度是一个汉字宽度,所以我补空格多少的方法根本无法达到对齐的效果,那么我想了一个办法是求出这个字符串string 的图形宽度 然后重画下他一个。
如果说您不理解这个操作系统也没关系 ,我说下具体情况我要求Listbox对齐:
效果例如:
123456 我们是中国人 2 3
123456 我们sidf 2 2
213456 我们wi2 2 3
我公式又写了一个而且PC上运行完全OK 因为这个盘点机特殊 他的w和i的宽度都不一样 汉字和数字也不一样 数字和字母的宽度也不一样 不同字母的宽度也不一样 也就说说我的代码在电脑机器上已经可以达到上面的效果了,因为电脑上的是2个英文的宽度等于一个中文的宽度,每个英文的显示宽度相等,所以补充空格的方法可以做到看我代码: private string jq(string tiaoma, string mingcheng, string yuanshi)
{
string b1 = null;
string b2 = null;
string b1b2 = null;
int b1b2len = 0;
if (tiaoma.Length <= 6)
{
b1 = tiaoma + ' ' + ' ';
}
else
{
b1 = tiaoma.Substring(tiaoma.Length - 6) + ' ' + ' ';
}
if (Encoding.GetEncoding("gb2312").GetByteCount(mingcheng) > 18)
{
b2 = mingcheng.Substring(9 - mingcheng.Length);
}
else
{
if (mingcheng.Length <= 9)
{
b2 = mingcheng.Substring(0);
}
else
{
b2 = mingcheng.Substring(0, 9);
}
}
b1b2 = b1 + b2;
b1b2len = Encoding.GetEncoding("gb2312").GetByteCount((b1 + b2));
while (b1b2len < 40)
{
b1b2 += ' ';
b1b2len++;
}
return b1b2; }
但是PDA他的屏幕是字母i和w的实际显示宽度不一样,而且也不是2个字母宽度是一个汉字宽度,所以我补空格多少的方法根本无法达到对齐的效果,那么我想了一个办法是求出这个字符串string 的图形宽度 然后重画下他一个。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货