0

我有一个richtextbox,其中包含我从网页获得的一些文本。我需要删除所有没有背景颜色的文本,但我也想将市场词保持在与删除行之前相同的行中。这是文本的示例:

打印屏幕

4

1 回答 1

0

一种巧妙的方法是反过来并逐个检查每个字符。

For i As Integer = RichTextBox1.TextLength - 1 To 0 Step -1
  RichTextBox1.Select(i, 1)
  If Not (RichTextBox1.SelectedText = Chr(10) Or _
          RichTextBox1.SelectedText = Chr(13)) Then
    If RichTextBox1.SelectionBackColor.R = 255 AndAlso _
       RichTextBox1.SelectionBackColor.G = 255 AndAlso _
       RichTextBox1.SelectionBackColor.B = 255 Then
      RichTextBox1.SelectedText = String.Empty
    End If
  End If
Next

这可能非常不稳定,在这种情况下,尝试在代码中创建一个新的 RichTextBox 控件,传输内容,然后在那里完成工作。然后将结果传输回现有的 RichTextBox 控件。

于 2012-04-20T13:13:29.503 回答