2016-02-13 67 views
0

我只知道如何更改字符串的整个文本的颜色,而不是某个部分。如果程序包含“打印”而不是整个文本,我希望程序改变单词“打印”的颜色。更改文本框中文本部分的颜色

这里是我的代码:

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,你可能想看CodeProject上的FastColored文本框,而不是重新创建轮子(和货车...和谷仓) – 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,而不是OP指定的TextBox。 –

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 

家伙真的作品我在我的电脑测试。 :)