Автоматическое заполнение поля текстом
Пока мы вводили текст в поле RichTextBox вручную. Посмотрим, как можно заставить VB автоматически заполнять поле текстом и попутно форматировать его. Вот процедура обработки нажатия на кнопку Кнопка. Именно эта процедура заполняет нижнюю часть поля RichTextBox на Рис. 20.6.
Private Sub Кнопка_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Кнопка.Click
RTB.SelectedText = "А этот текст вводится автоматически. Сейчас я включу маркеры." + vbNewLine
RTB.SelectionBullet
= True
RTB.SelectedText = "Вот так." + vbNewLine
RTB.SelectedText = "А теперь выключу маркеры, но изменю шрифт и его цвет:" + vbNewLine
RTB.SelectionBullet
= False
RTB.SelectionFont
= New Font("Arial", 16)
RTB.SelectionColor
= Color.Green
RTB.SelectedText
= "Вот так теперь стало."
End Sub
Пояснения: Свойство SelectedText имеет значение выделенного фрагмента текста. Поэтому мы всегда можем написать
Debug.WriteLine(RTB.SelectedText)
и тем самым распечатать выделенный предварительно вручную фрагмент текста.
С другой стороны мы можем присваивать этому свойству значение произвольной строки. Тем самым строка будет введена в поле RichTextBox и примет на себя форматирование, предварительно установленное нами обычным образом.
Если вводимая в поле строка «упирается» в правую границу поля, то она автоматически продолжается со следующей строки. Чтобы принудительно продолжить ввод с новой строки (то есть сделать «абзац»), мы при ручном вводе нажимаем на клавишу Enter, а при автоматическом заполнении поля вставляем символ vbNewLine.