【发布时间】:2014-08-11 18:09:06
【问题描述】:
我正在编写一个小的 winform 程序,它有一个多行文本框和一个“清除”按钮。我附加到此文本框的每个字符串始终以“\r\n”结尾。
textBoxScriptSteps.AppendText(ClickedButton + "\r\n");
我只想在每次单击清除按钮时删除最后一行。
在谷歌中搜索但找不到任何解决方案。 请对此提供任何帮助。
【问题讨论】:
-
到目前为止你有这方面的尝试吗?我的猜测是您可以在字符串
textBoxScriptSteps.Text中找到最后一次出现的 "\r\n" 并从那里开始。只是给你一个大概的想法。 -
最简单的方法(我认为)是获取内容,根据您的换行符将它们拆分为一个数组/列表,然后在没有最后一个元素的情况下重新输出列表......但没有向我们展示你的尝试,恐怕你不会得到任何具体的解决方案......
-
是的,我试过了,但它什么也没做。 textBoxScriptSteps.Text.Remove(textBoxScriptSteps.Text.LastIndexOf("\r\n"));
-
string[] textlines = textBoxScriptSteps.Lines; textlines = textlines.Where(x => x != textlines[textlines.Count].ToArray(); textBoxScriptSteps.Lines = textlines;你的意思是这样的?别忘了加:using System.Linq; -
字符串是不可变的。如果你只是做了
.Remove而没有实际将返回的值分配回textBoxScriptSteps.Text,当然它不会做任何事情。有可能有效(假设字符串不以\r\n结尾)但只是没有对正确的字符串做任何事情:)