TextBox:将文本包装到多行

我的表单中有一个TextBox,并尝试将内容包装成多行,以免被切断。

到目前为止我这样做了,

TextBox myTextBox = new TextBox(); myTextBox.Multiline = true; myTextBox.WordWrap = true; 

我尝试了上面的各种组合,通过将Multiline转换为false,然后将WordWrap转换为false。

但似乎没有任何效果。

我发现有一个TextWrapping属性,但由于某些原因,我的TextBox不可用,可能是因为一个不同的.Net版本。

有没有办法将TextBox的内容包装成多行?

你有什么内容? 它是一个“人类可读”的字符串(例如“普通”单词和句子),还是hex字符串等?

根据您的内容,您有多种选择:

  1. 在一定数量的字符后插入\n
  2. 根据您的框架(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个字符后会有一个新行)