2014-01-06 40 views
1

這可能是一個簡單的答案,但目前它只是暫時沒有提供給我。 我的程序打開一個文件,文件確實包含註釋,我想將「//」後面的所有文本都寫成綠色。如果RichTextBox中包含某些文本,改變某一行的forecolor

我所試圖做的是這樣的:(這正是在VB.Net,但與評論以同樣的方式「)

If rtb.contains("//") Then 
    'make the text after '//' green 
End If 
+0

你的意思是你如何在文本框控件中做到這一點?如果你使用Windows窗體,那麼下面的鏈接會給你答案。 http://stackoverflow.com/questions/2527700/change-color-of-text-within-a-winforms-richtextbox – ShadowLiberal

+0

@ShadowLiberal呃不完全。你知道如果你在c#中輸入「//這是現在的評論」,並且//之後的文本變爲綠色(包括//),那麼這就是我想爲我的程序所做的。 – user3166518

回答

0

假設現有的文本,您可以通過線陣運行檢查文字:

For i As Integer = 0 To RichTextBox1.Lines.Length - 1 
    Dim s As String = RichTextBox1.Lines(i) 
    Dim index As Integer = s.IndexOf("//") 
    If index > -1 Then 
    Dim length As Integer = s.Length - index 
    index += RichTextBox1.GetFirstCharIndexFromLine(i) 
    RichTextBox1.Select(index, length) 
    RichTextBox1.SelectionColor = Color.Green 
    End If 
Next 
RichTextBox1.Select(0, 0) 
+0

您需要在索引後面添加「+2」,而不是引號: RichTextBox1.Select(索引+2,長度)以滿足OP的請求。 – SomeNickName

+0

@SomeNickName通常,斜線與評論顏色相同。上面看到OP對ShadowLiberal的評論:'(包括//)'。 – LarsTech

+0

哦,對不起,沒有看到..那麼你的解決方案是完美的:p – SomeNickName

0

您是否正在使用文本框?如果是這樣,你需要使用RichTextbox來做你想做的事情。 像這樣:

enter image description here

「設置selectionstart字符 」設置selecionstart字符 後選擇的字符數「設置選擇顏色

編輯:哦,你之後的「\\通緝「字符,誤讀,使用@LarsTech我認爲的答案。

相關問題