VB.net - RichTextBox (Open/Save)
RichTextBox - текстовое поле с большим функционалом.
Поддерживает форматирование и картинки.
Если из TextBox - получаем блокнот, то из RichTextBox - WordPad, а при должном подходе полноценный Word.
В данной статье мы уделим должное внимание сохранению и открытию файлов RTF и TXT.
Открываем файл TXT в RichTextBox
'переносим содержимое текст файла в RichTextBox1
Private Sub cmdOpenTxt_Click(sender As Object, e As EventArgs) Handles cmdOpenTxt.Click
If (OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK) Then
RichTextBox1.Text = My.Computer.FileSystem.ReadAllText(OpenFileDialog1.FileName)
'мы не ставим фильтр и можем открывать любой файл
End If
End Sub
Кроме открытия файлов TXT для нас важно открывать форматированный документ RTF
Открываем файл RTF в RichTextBox
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles cmdOpenRtf.Click
Dim Блокнот1 As New OpenFileDialog
Блокнот1.Filter = "RTF |*.rtf|Все файлы |*.*"
Блокнот1.Title = "Открыть файл "
Блокнот1.CheckPathExists = True
If Блокнот1.ShowDialog = Windows.Forms.DialogResult.OK Then
RichTextBox1.LoadFile(Блокнот1.FileName)
End If
End Sub
После редактирования мы можем сохранить файл как RTF
Cохранить файл как RTF
Private Sub cmdSave_Click(sender As Object, e As EventArgs) Handles cmdSave.Click
Dim Блокнот As New SaveFileDialog
Блокнот.Filter = "RTF |*.rtf|Все файлы |*.*"
Блокнот.Title = "Сохранить файл "
Блокнот.CheckPathExists = True
If Блокнот.ShowDialog = Windows.Forms.DialogResult.OK Then
RichTextBox1.SaveFile(Блокнот.FileName)
End If
End Sub
Если вам потребовалось сохранить текст в другом формате, то можно воспользоваться расширенным вариантом сохранения.
Расширенное сохранение
Private Sub cmdSaveAll_Click(sender As Object, e As EventArgs) Handles cmdSaveAll.Click
Dim dlg As New SaveFileDialog()
dlg.FileName = "documentName"
dlg.Filter = "Rich text file (*.rtf)|*.rtf|" + _
"Rtf, no OLE objects (*.rtf)|*.rtf|" + _
"Plain text file, no OLE objects (*.txt)|*.txt|" + _
"Plain text file, OLE objects replaced with text (*.txt)|*.txt|" + _
"Unicode text file, no OLE objects (*.txt)|*.txt"
If dlg.ShowDialog() <> Windows.Forms.DialogResult.OK Then Exit Sub
Dim fileType As RichTextBoxStreamType
Select Case dlg.FilterIndex
Case 1
fileType = RichTextBoxStreamType.RichText
Case 2
fileType = RichTextBoxStreamType.RichNoOleObjs
Case 3
fileType = RichTextBoxStreamType.PlainText
Case 4
fileType = RichTextBoxStreamType.TextTextOleObjs
Case 5
fileType = RichTextBoxStreamType.UnicodePlainText
End Select
RichTextBox1.SaveFile(dlg.FileName, fileType)
End Sub
В этой статье мы затронули тему сохранения (Save / Open), о том как использовать различное форматирование я расскажу в следующих уроках.
Смотреть видео
В начало
|