我在TextBox
(System.Web.UI.WebControls
)中有文字换行问题。
我有一个文本框,其列设置为65,文本模式属性设置为MultiLine
,并且将属性设置为true
。
当我收集用户使用txtMessage.Text
作为字符串输入的消息时,换行符“\r\n
”仅放在UI中发生的位置,而不是在65之后字符。
这可以解决吗,whiteout写我自己的包装代码?
实施例。代码:
在某些init方法中:
txtMessage.Columns = 65;
txtMessage.TextMode = TextMode.MultiLine;
txtMessage.Wrap = true;
...用户输入一些文字并提交 ....
在提取方法中:
string text = txtMessage.Text;
// ...
// Do something with the text ...
键入的文字是:
0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
在提取过程中,字符串变为:
“01234567890123456789012345678901234567890123456789012345678901234567890123456789 \ r \ n01234567890123456789”
,因为文本窗口只有在一行中符合100个字符。
但是该列设置为65 ,因此结果应为:
“01234567890123456789012345678901234567890123456789012345678901234 \ r \ n56789012345678901234567890123456789”
答案 0 :(得分:1)
Winforms TextBox
控件并不支持您本机所需的功能。但是,有两种解决方案适合你。
删除所有换行符和换行符。然后在将值保存到数据库之前,每隔65(或任何你想要的长度)字符后添加换行符和换行符。
继承TextBox
类并编写您自己的User Control
以覆盖Text属性以表示上面第一点中的功能。通过这种方式,您可以重复使用此控件(但是,不确定这是一个问题)
希望这会有所帮助。