2016-02-13 3 views
0

Я знаю, как изменить цвет всего текста строки, а не на определенную часть. Я хочу, чтобы программа меняла цвет слова «print», если программа содержит «печать», а не весь текст.Изменение цвета части текста в текстовом поле

Вот мой код:

Public Class Form1 
    Private Sub codeTextBox_TextChanged(sender As Object, e As EventArgs) Handles codeTextBox.TextChanged 
     Dim codeInput As String = codeTextBox.Text 
     If codeInput.Contains("print") Then 
      codeTextBox.ForeColor = Color.Blue 
     End If 
    End Sub 
End Class 
+2

VBA ???? Для VB.NET вы можете захотеть взглянуть на поле FastColored Text в CodeProject, а не воссоздать колесо (и вагон ... и сарай). – Plutonix

ответ

-1
Public Class Form1 

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim text As String = RichTextBox1.Text 
    text = text.Replace(TextBox1.Text, "<font color=blue> " & TextBox1.Text & " </font>") 
    WebBrowser1.DocumentText = text 
End Sub 

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

End Sub 
End Class 

screenshot of form

+0

Это использует RichTextBox, а не TextBox, как указывает OP. –

0

Вот мое решение

Private Sub RichTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RichTextBox1.TextChanged 
     If RichTextBox1.Text.EndsWith("Dim") Then 
      RichTextBox1.Select(RichTextBox1.TextLength - 3, 3) 
      RichTextBox1.SelectionColor = Color.Red 
      RichTextBox1.Select(RichTextBox1.TextLength, RichTextBox1.TextLength) 
      RichTextBox1.SelectionColor = Color.Black 
     End If 
    End Sub 

Ребята это действительно работает я тестировал на моем компьютере. :)

Смежные вопросы