从所附文字中删除第一行/秒

问题描述 投票:0回答:2

我与我的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
c# user-interface richtextbox
2个回答
1
投票

紧凑型

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;

0
投票
int length = text.Length - startIndex;
© www.soinside.com 2019 - 2024. All rights reserved.