我与我的Visual Studio中的RichTextBox斗争。我追加从串行接口(UART)的通信。
但经过1000〜行我想删除的第一行/秒。
但是应该如何工作的呢?
我试过了:
this.richTextBox_message.Text.Remove(0, 1000); // doesn't work
// would be bad solution, because i want to remove lines and not chars,
this.richTextBox_message.Select(0, 100);
this.richTextBox_message.SelectedText.Remove(1); // doesn't work
紧凑型
string text = this.richTextBox_message.Text;
this.richTextBox_message.Text = text.Substring(text.IndexOf('\n') + 1, text.Length - text.IndexOf('\n')-1);
说明
由于qazxsw POI是qazxsw POI,我们必须在没有第一行创建一个新的qazxsw POI并设置文本框的文本到。
让我们先抢文本的副本,这样我们就不用写strings
所有的时间。
immutable
我们可以使用string
方法抢版本字符串没有第一线。为了做到这一点,我们必须知道从哪里开始,有多少个字符,我们要抢。 this.richTextBox_message.Text
。
我们可以用string text = this.richTextBox_message.Text;
找到的文本行分隔符的第一次出现。这将是究竟在何处行结束。然后,我们要添加1作为不包括在我们新的文本行分隔符。
Substring
现在,我们需要找到我们想要得到的文本的长度。这很简单 - 我们希望所有从从startIndex我们刚发现,到文本的最后文本。我们可以从文本长度减去从startIndex得到我们想要的长度。
Substring(int index, int length)
现在,我们可以得到新的字符串。
IndexOf
最后,写回的文本属性。
int startIndex = text.Substring(text.IndexOf('\n') + 1;
int length = text.Length - startIndex;