Работаем и с документами RTF и текстовыми файлами (txt)
В поле RichTextBox мы можем загружать не только RTF-файлы, но и обычные текстовые файлы с расширением txt. Более того, мы можем сохранять содержимое поля RichTextBox не только в RTF-файлы, но и в обычные текстовые файлы с расширением txt. В последнем случае, конечно, все форматирование будет потеряно.
Для того, чтобы работать с файлами обоих типов, процедуры открытия и сохранения файлов нужно изменить:
Private Sub Открыть_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Открыть.Click
OpenFileDialog1.Filter = "Текстовые файлы|*.txt|RTF-файлы|*.RTF"
If OpenFileDialog1.ShowDialog() = DialogResult.Cancel Then Exit Sub
Dim Файл As String = OpenFileDialog1.FileName
If Файл.EndsWith(".RTF") Or Файл.EndsWith(".rtf") Then
RTB.LoadFile(Файл)
ElseIf Файл.EndsWith(".TXT") Or Файл.EndsWith(".txt") Then
RTB.LoadFile(Файл, RichTextBoxStreamType.PlainText)
Else
MsgBox("Не могу открыть файл такого формата")
End If
End Sub
Private Sub Сохран_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Сохран.Click
SaveFileDialog1.Filter = "Текстовые файлы|*.txt|RTF-файлы|*.RTF"
If SaveFileDialog1.ShowDialog() = DialogResult.Cancel Then Exit Sub
Dim Файл As String = SaveFileDialog1.FileName
If Файл.EndsWith(".RTF") Or Файл.EndsWith(".rtf") Then
RTB.SaveFile(Файл)
ElseIf Файл.EndsWith(".TXT") Or Файл.EndsWith(".txt") Then
RTB.SaveFile(Файл, RichTextBoxStreamType.PlainText)
Else
MsgBox("Не хочу сохранять файл с таким расширением")
End If
End Sub
Пояснения: Обе процедуры сделаны одинаково. В обеих оператор If анализирует расширение файла и если это RTF-файл, то открытие или сохранение идет при помощи уже известных нам вариантов методов LoadFile или SaveFile с одним параметром. Если же это текстовый файл с расширением txt, то открытие или сохранение идет при помощи другого варианта методов LoadFile или SaveFile, а именно варианта с двумя параметрами. Второй параметр уточняет, какого типа текст содержится в файле. Этот тип является значением перечисления RichTextBoxStreamType. Для обычного текста это значение – PlainText («простой текст»).
Ну вот, пожалуй, и достаточно о RichTextBox. В остальных многочисленных его свойствах и методах вы при необходимости сможете разобраться сами.