У меня есть приложение WinForm
, которое читает текстовый файл. Он читает весь файл построчно и генерирует RadioButton
, когда в начале строки есть разделитель.
Так, "|A Topic"
производит RadioButton
, называемый A Topic
.
Во время выполнения пользователь выбирает RadioButton
, приложение находит эту строку в текстовом файле, затем читает весь текст до следующего разделителя и помещает его в RichTextBox
.
Содержимое текстового файла является фактическим кодом Visual Basic, и я ищу способ выделить комментарии из кода.
Я пытаюсь использовать .Find()
, чтобы найти все апострофы, обозначающие комментарий.
С найденным комментарием, как я могу расширить выделение до конца этой строки?
Dim index As Integer = 0
While index < RichTxtOut.Text.LastIndexOf("'")
RichTxtOut.Find("'", index, RichTxtOut.TextLength, RichTextBoxFinds.None)
RichTxtOut.SelectionColor = Color.Green
index = RichTxtOut.Text.IndexOf("'", index) + 1
End While
Это делает апостроф зеленым, но как мне сделать остальную часть этой строки зеленой.
Вот код обновления _________________________________________________
Dim indexx As Integer = 0
Dim lines() As String = System.IO.File.ReadAllLines(FILE_NAME)
Dim numOfChars As Integer
While indexx < RichTxtOut.Text.LastIndexOf("'")
numOfChars = 0
RichTxtOut.Find("'", indexx, RichTxtOut.TextLength, RichTextBoxFinds.None)
'count the number of characters after the apostrophe
For li As Integer = 0 To Lines(RichTxtOut.GetLineFromCharIndex(RichTxtOut.Find("'", indexx, RichTxtOut.TextLength, RichTextBoxFinds.None))).Count - 1
numOfChars += 1
Next
RichTxtOut.Select(RichTxtOut.Find("'", indexx, RichTxtOut.TextLength, RichTextBoxFinds.None), numOfChars)
RichTxtOut.SelectionColor = Color.Green
numOfChars = 0
indexx = RichTxtOut.Text.IndexOf("'", indexx) + 1
End While
Однако, он все еще не работает правильно. Он не находит правильное количество символов в строке после апострофа.
Есть предложения ??