3

リッチテキストボックスの他の色を維持しながら、1行の色や1つの単語を変更できますか?

たとえば、「処理中: ...」という行を黄色に変更したいのですが、可能ですか?

読んでくれてありがとう

ここに画像の説明を入力

4

3 に答える 3

7

これはおそらく少し遅れていますが、テキストをリッチテキストボックスに追加する前にselectioncolorを希望の色に設定し、その後元の色に戻すだけです。

With RichTextBox1
  .SelectionColor = Color.Yellow
  .AppendText("Processing: ")
  .SelectionColor = Color.LimeGreen
  .AppendText("el senor de los anillakos.avi" & vbCr)
End With
于 2014-11-14T19:43:37.253 に答える
6

この希望に満ちた人はあなたのためにトリックをするはずです、例えば、行が含まれている場合"Processing..."

    for(int i=0; i<rtb.Lines.Length; i++) 
{ 
   string text = rtb.Lines[i];
   rtb.Select(rtb.GetFirstCharIndexFromLine(i), text.Length); 
   rtb.SelectionColor = colorForLine(text); 
} 

private Color colorForLine(string line)
{
    if(line.Contains("[Processing...]", StringComparison.InvariantCultureIgnoreCase) return Color.Green;

ちなみに、これはvb.net用だとおっしゃっていましたが、コンバーターを使用してコードをvb.netに変換できるはずです。

C#からVB

これが正しいかどうかはわかりませんが、vbでは少しこのように見えると思います

Private Sub Test()
    For Each i As Integer In RichTextBox1.Lines.Length

        Dim Text As String = RichTextBox1.Lines(i)
        RichTextBox1.Select(RichTextBox1.GetFirstCharIndexFromLine(i), Text.Length)
        RichTextBox1.SelectionColor = ColorForLine(Text)
    Next
End Sub

Private Function ColorForLine(Line As String) As color
    If Line.Contains("Processing", ) Then
        Return ColorForLine.Green
    End If
End Function
于 2012-11-27T11:48:12.130 に答える