带有自定义换行的多行文本框
本文关键字:文本 自定义 换行 | 更新日期: 2023-09-27 18:08:56
我开始用。net和c#编程,目前我被卡住了。我有一个非常类似的问题,张贴在这个问题在stackoverflow: c#:多行文本框与文本框。自动换行显示长Base64字符串
对这个问题的回答是这段代码:
public IEnumerable<string> SimpleWrap(string line, int length)
{
var s = line;
while (s.Length > length)
{
var result = s.Substring(0, length);
s = s.Substring(length);
yield return result;
}
yield return s;
}
我不知道如何使用那段代码。有人可以为我提供一个代码片段,使用这种特定的方法来编写文本,自动也插入一个新的行。我的代码现在看起来像这样:
var length = GetMaximumCharacters(txtBxResults);
var txtWrap = SimpleWrap(stringValue, length);
foreach (string s in txtWrap)
{
txtBxResults.AppendText(s);
}
如果我使用AppendText方法,它会简单地将所有文本写在一行中,这是我不想要的。如有任何回复,将不胜感激。
谢谢,KK
你几乎是正确的,你只需要插入换行符。试着
foreach (string s in txtWrap)
{
txtBxResults.AppendText(s + Environment.NewLine);
}
我现在不能给你确切的代码(我稍后会回来贴出来),但一般来说,你应该做的是确定下一个逗号的索引,如果当前行的字符+该索引>行长度,然后在该复合之前添加新行。如果你在一个圆圈中这样做,当它完成后应该正确格式化,也要考虑到最后一个复合词不会(我认为)在末尾有逗号。