【发布时间】:2011-09-19 15:56:29
【问题描述】:
我开始使用 .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;
}
我不知道如何使用那段代码。有人请给我一个代码 sn-p,它使用这种特殊的方法来编写自动插入新行的文本。 我的代码目前如下所示:
var length = GetMaximumCharacters(txtBxResults);
var txtWrap = SimpleWrap(stringValue, length);
foreach (string s in txtWrap)
{
txtBxResults.AppendText(s);
}
如果我使用 AppendText 方法,它会简单地将所有文本写在我不想要的一行中。 任何回复将不胜感激。
谢谢, KK
【问题讨论】:
-
文本框是如何使用的?我的意思是...您是以编程方式一次填充它还是将文本附加到它?还是用户自己输入?
-
@PedroC88 文本框以编程方式填充。它用连字符分隔的化合物和逗号分隔的化合物(Fe-Cr-Ni、Al-Ni-Co)中的每个元素填写化合物的组合。我想要的是文本框应该在有逗号而不是连字符的行尾插入一个新行。此外,我不需要在新行中的每个化合物,只有在文本框的同一行中没有更多空间时才应该开始新行。希望我已经清楚地解释了自己。感谢您的建议
标签: c# winforms textbox ienumerable word-wrap