我开始使用.Net和C#进行编程,目前我被卡住了。我在stackoverflow上发布这个问题的问题非常类似:C#: Multiline TextBox with TextBox.WordWrap Displaying Long Base64 String。
对这个问题的回答是这段代码:
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
答案 0 :(得分:1)
你差不多正确,你只需要插入换行符。尝试
foreach (string s in txtWrap)
{
txtBxResults.AppendText(s + Environment.NewLine);
}
答案 1 :(得分:0)
我现在不能给你确切的代码(我会回来稍后发布)但一般来说,你应该做的是识别下一个逗号的索引,如果是当前行上的字符+那个索引&gt;然后该行的长度在该化合物之前附加一个新行。如果你在一个bucle中这样做,当它完成时它应该被正确格式化,也考虑到最后一个化合物将不会(我认为)最后一个逗号。