TextBox:将文本包装到多行
我的表单中有一个TextBox,并尝试将内容包装成多行,以免被切断。
到目前为止我这样做了,
TextBox myTextBox = new TextBox(); myTextBox.Multiline = true; myTextBox.WordWrap = true;
我尝试了上面的各种组合,通过将Multiline转换为false,然后将WordWrap转换为false。
但似乎没有任何效果。
我发现有一个TextWrapping属性,但由于某些原因,我的TextBox不可用,可能是因为一个不同的.Net版本。
有没有办法将TextBox的内容包装成多行?
你有什么内容? 它是一个“人类可读”的字符串(例如“普通”单词和句子),还是hex字符串等?
根据您的内容,您有多种选择:
- 在一定数量的字符后插入
\n
- 根据您的框架(WPF,WinForms等)使用不同的属性/实现…..
如果您使用的是WPF,请尝试AcceptReturn="true" TextWrapping="Wrap"
如果您使用的是WinForms,请尝试插入一些\n
.Multiline := true
,当.Multiline := true
和.WordWrap := true
ADDENDUM:如果你想在每x
字符后插入一个\n
,我会为你提供以下代码片段(我非常喜欢):
using System.Text.RegularExpressions; ... string mystr = "this is my very long text"; mystr = Regex.Replace(mystr, "(.{20})", "$1\n"); TextBox1.Text = mystr; // or: TextBox1.Content = mystr;
在正则表达式中的20
“(。{20})”你的字符数量是多少,之后将插入一个\n
。 (意思是,你的字符串在每20个字符后会有一个新行)