Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Раскраска кода Добавлено: 02.02.04 16:37  

Автор вопроса:  Павел | Web-сайт: www.vbnet.ru | ICQ: 326066673 
Раскраска код в RichTextBox с помощью регулярных выражений. Выдрал с
помощью декомпилера Spices .NET из одной проги..

Private Sub ColorizeRegex(ByVal rtf As System.Windows.Forms.RichTextBox)
Me.hiddenRichTextBox.SelectionColor = System.Drawing.Color.Black
Me.hiddenRichTextBox.Font = New System.Drawing.Font("Courier New", 8!)
Me.hiddenRichTextBox.Text = rtf.Text
If Me.hiddenRichTextBox.Text.Length > 0 Then
Dim arr As String = "(?:(\(\?<(?<groupName>\w+)>)|(?<specialChar>\\d|\\b|\\s|\\w|\\n|\\x(\d+)|\\u(\d+)|\\\W))"
Dim regex As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(arr, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
Dim matchCollection As System.Text.RegularExpressions.MatchCollection = regex.Matches(Me.hiddenRichTextBox.Text)
Me.FillGroupListBox(rtf.Text)
Dim i As Integer = 0
Do While i <= (matchCollection.Count - 1)
Me.hiddenRichTextBox.Select(matchCollection(i).Groups("groupName").Index, matchCollection(i).Groups("groupName").Length)
Me.hiddenRichTextBox.SelectionColor = System.Drawing.Color.Green
Me.hiddenRichTextBox.Select(matchCollection(i).Groups("specialChar").Index, matchCollection(i).Groups("specialChar").Length)
Me.hiddenRichTextBox.SelectionColor = System.Drawing.Color.OrangeRed
i+=1
Loop
End If
rtf.Rtf = Me.hiddenRichTextBox.Rtf
End Sub

Ответить

  Ответы Всего ответов: 1  

Номер ответа: 1
Автор ответа:
 VladDor



Вопросов: 17
Ответов: 47
 Профиль | | #1 Добавлено: 02.02.04 17:10

2 Павел. Да я после трехдневного штурма приблизително на этот алгоритм и вышел,

только не цвет, стиль шрифта ловлю, код я скопировал - спасибо.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам