Выделение отдельных слов в RichTextBox жирным шрифтом - Visual Basic .NET
Формулировка задачи:
Здравствуйте.
Есть такая задача: в поле RichTextBox нужно вывести перечень терминов с их описанием следующего формата: первая строка - термин, следующая - описание. Затем, при наличии, идет второй термин, третий и т.п., в зависимости от условий. Вот захотел, чтобы термин выделялся жирным. И ничего не получается. Раньше никогда не работал в этом ключе с RichTextBox - максимум, обычный вывод данных построчно, так что совсем растерялся. Читал (кое-что есть и на этом форуме), но либо не догоняю, либо что-то не так. Допустим, распространенный вариант - использование RichTextBox1.SelBold. Но я использую Visual Basic .NET из пакета Visual Studio 2008, и там нет вообще подобного метода. Я так понял, что теперь нужно использовать SelectionFont, но я, к сожалению, не разобрался, как это сделать.
Пожалуйста, если не сложно, набросайте примерный код.
Итак, есть двумерный массив: первый столбец - термины, второй - их расшифровка. Пробегаем массив, сравнивая на вхождение искомого слова в содержимое ячеек первого столбца, и если таковое имеет место быть - выводим в РТБ по описанному выше формату: первая строка - жирно термин, вторая строка - описание термина. И таких терминов может быть несколько.
Сам алгоритм поиска и т.п. уже реализован, весь вопрос лишь в применении жирного шрифта. Заранее спасибо всем!Решение задачи: «Выделение отдельных слов в RichTextBox жирным шрифтом»
textual
Листинг программы
Private Sub Button6_Click(sender As System.Object, e As System.EventArgs) Handles Button6.Click Dim ss(,) As String = {{"aaaa", "hhhhhhhhhhhhhhhhhhhh"}, {"bbbbbbb", "hhhhhhhhhhhhhhh"}, {"cccc", "hhhhhhhhhhhhhhh"}, {"ddddddd", "hhhhhhhhhhhhhhhhhhhh"}, {"eeeeeeee", "hhhhhhhhhhhhhhhh"}, {"fffffffffffffff", "hhhhhhhhhhhh"}} Dim s As String = String.Empty Dim n As Integer = 30, ii, nn As Integer RichTextBox1.Font = New Font(FontFamily.GenericMonospace, 9) For i = 0 To ss.GetLength(0) - 1 s = ss(i, 0).PadRight(n) & ss(i, 1) & vbCrLf nn = s.Length - 1 With RichTextBox1 .AppendText(s) .SelectionStart = ii .SelectionLength = n - 1 .SelectionFont = New Font(.SelectionFont, FontStyle.Bold + FontStyle.Italic) .SelectionColor = Color.Red End With ii += nn Next End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д