我有一段程序,从一个数据库中获取了一个值赋给String型变量 StrTemp
调试看到StrTemp信息的值为 "中国万岁\0天\0万恶的\0"
其实真是数据是:"中国万岁"
\0不是结束符号么,先不管这StrTemp是怎么得到的
怎么把它变成正常的string值呢?
我试过:StrTemp写入TreeList还是"中国万岁\0天\0万恶的\0"
但是赋给textBox就成了"中国万岁"这到底是什么情况,如何解决?
谢谢大家

解决方案 »

  1.   

    TextBox是不是单行,不支持换行。估计是没有显示完整。
      

  2.   

    将 SelectionIndent 属性设置为一个整数,该整数表示控件的左边缘和文本的左边缘之间的距离(以像素为单位)。将 SelectionHangingIndent 属性设置为一个整数,该整数表示段落中第一行文本的左边缘与同一段落中后面的行的左边缘之间的距离(以像素为单位)。 SelectionHangingIndent 属性的值只适用于段落换行后第一行下面的行。 将 SelectionRightIndent 属性设置为一个整数,该整数表示控件的右边缘与文本的右边缘之间的距离(以像素为单位)。
    richTextBox1.SelectionIndent = 8;
    richTextBox1.SelectionHangingIndent = 3;
    richTextBox1.SelectionRightIndent = 12;
      

  3.   

     string s = "中国万岁\0天\0万恶的\0";
            int i = s.IndexOf('\0');
            s = s.Substring(0, i);
      

  4.   

    建议你直接替换掉特殊字符,如果一定要有原文,至少拿替换后的文本给TextBox显示,很多控件不支持显示\0,但是那个的确也是一个字符,所以String支持带有\0的字符串。
    至于代码,很简单:string tmp = "中国万岁\0天\0万恶的\0";
    textBox1.Text = tmp.Replace("\0"," ");这里替换为了空格,你也可以替换为空字符串。