情况这样的 我再说下    我用的是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 的图形宽度 然后重画下他一个。