TextBox的Multiline属性设置为真,想在TextBox中显示字符串,如“abc\r”
tbSend.Text ="abc\r";
可是运行之后显示的却是“abc口”
因为这个“abc\r”是一个指令,必须显示为这个,如果前面加上@,就变成“abc\\r”这样指令又变了,怎么能让它就显示为“abc\r”呢?

解决方案 »

  1.   

     tbSend.Text = @"abc\r";
      

  2.   

    需要转义:
    tbSend.Text ="abc\\r";
      

  3.   

    tbSend.Text ="abc\\r";或者tbSend.Text = @"abc\r";
      

  4.   

    上面的方法都不行,按照你们的说法显示是变成我想要的“abc\r”了,但是我发指令时需要从这个TextBox中读出来,tbSend.Text 读出来之后指令就变成"abc\\r"了,相当于指令已经从“abc\r”变为"abc\\r"了!这样我发指令后肯定收不到正确的数据。因为发的数据就是错误的!
      

  5.   

    刚才说的不够准确,我是想即又让它在tbSend上显示为“abc\r”,又想在读出来的时候也是“abc\r”,而不是“abc\\r”。
      

  6.   

    读出来的时候再把它换回来啊……
    string str = tbSend.Text.Replace("\\\\","\\");
      

  7.   

    fk。把我整的好晕啊。
    textBox1.Text = "abc\\r";
    楼主你别闹了,就是上面这样就行了,你把textBox1.Text 打出来看看。
    textBox1.Text 的值就是你所要的"abc\r"。
      

  8.   


    读出来就变成\\了。。你就用replace把\\替换成\
      

  9.   

    你可以自己试一下,textBox1.Text 的值是"abc\\r"了
      

  10.   

    tbSend.Text ="abc\\r";
    这样就没问题了,调试下看看.
      

  11.   


     string send = tbSend.Text.Replace(@"\r", "\r");搞定了:)
      

  12.   

    .text = "abc\\r"//显示
    .tag = "abc\r"//调用命令
      

  13.   


    这样也不太好,之所以显示在TextBox上是因为这个指令用户是可以修改的,你设置到tag上之后,就算用户修改了也没有用,所以我觉得还是显示之前处理一下,发送之前再替换为原来的比较好。
      

  14.   


    很明显我是试过了啊,你试试看这个:
    Console.WriteLine("abc\\r");
    打出来的值就是abc\r。