リッチテキストボックスの他の色を維持しながら、1行の色や1つの単語を変更できますか?
たとえば、「処理中: ...」という行を黄色に変更したいのですが、可能ですか?
読んでくれてありがとう
リッチテキストボックスの他の色を維持しながら、1行の色や1つの単語を変更できますか?
たとえば、「処理中: ...」という行を黄色に変更したいのですが、可能ですか?
読んでくれてありがとう
これはおそらく少し遅れていますが、テキストをリッチテキストボックスに追加する前にselectioncolorを希望の色に設定し、その後元の色に戻すだけです。
With RichTextBox1
.SelectionColor = Color.Yellow
.AppendText("Processing: ")
.SelectionColor = Color.LimeGreen
.AppendText("el senor de los anillakos.avi" & vbCr)
End With
この希望に満ちた人はあなたのためにトリックをするはずです、例えば、行が含まれている場合"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に変換できるはずです。
これが正しいかどうかはわかりませんが、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