日期:2014-05-18  浏览次数:20808 次

TextBox和RichTextBox换行问题
C# winform里面的TextBox和RichTextBox的换行是不是不一样啊?

我在一窗体上各放一个textbox和richtextbox输入控件,当我复制粘贴同样的数据到这两个控件,并判断他们是否相等时发现竟然不相等,汗啊,如何解决。

调试发现textbox总比richtexbox多\r

大概是texebox是用\r\n换行,而richtexbox是用\n换行的。

如何能让粘贴到他们的相同内容相等啊?

------解决方案--------------------
把回车替换掉
------解决方案--------------------
string tb=TextBox1.Text.Replace(@"\r\n", "").Trim();
string rtb=RichTextBox1.Text.Replace(@"\r\n", "").Trim();
这种你自己处理


------解决方案--------------------
可以把替换后的内容存入字符串变量进行比较。
------解决方案--------------------
把换行替换掉再进行赋值呗。
------解决方案--------------------
楼主,我的办法是重写TextBox的Text方法,可以实现
C# code


        protected class MyTextBox : TextBox
        {
            public override string Text
            {
                get
                {
                    string tempStr = base.Text;
                    tempStr = tempStr.Replace("\r\n", "\n");
                    return tempStr;
                }
                set
                {
                    base.Text = value;
                }
            }
        }