Вопрос или проблема
Частный Подпрограмма SaveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Обрабатывает SaveToolStripMenuItem.Click
SaveFileDialog1.FileName = “”
SaveFileDialog1.Filter = “TXT Файлы (.txt)|.txt“
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName & ".txt", RichTextBox1.Text, True)
My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName & ".txt", textbox1.Text, True)
My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName & ".txt", textbox2.Text, True)
End If
End Sub
Я сделал это, но я ожидаю сохранить это в указанных линиях.
Ответ или решение
Для того чтобы сохранить содержимое RichTextBox и двух TextBox в одном текстовом файле и при этом отформатировать их так, чтобы они сохранялись на отдельных строках, вам необходимо немного изменить ваш текущий код.
Ваш оригинальный код записывает текст из каждого элемента управления (RichTextBox и TextBox) в файл в одном и том же месте, что приводит к тому, что текст может переписываться. Вам нужно добавить символы новой строки (vbNewLine
) между записями, чтобы каждая часть текста занимала отдельную строку.
Вот исправленный вариант вашего метода:
Private Sub SaveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveToolStripMenuItem.Click
SaveFileDialog1.FileName = ""
SaveFileDialog1.Filter = "TXT Files (*.txt)|*.txt"
' Проверяем, выбрал ли пользователь файл
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
' Формируем содержимое для записи
Dim content As String = RichTextBox1.Text & vbNewLine & TextBox1.Text & vbNewLine & TextBox2.Text
' Записываем в файл
My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName, content, False)
End If
End Sub
Объяснение изменений:
-
Объединение строк: Мы создаем одну строку
content
, которая содержит текст изRichTextBox
,TextBox1
иTextBox2
, разделенный символами новой строки (vbNewLine
). Это обеспечивает, что каждая часть текста будет находиться на отдельной строке в файле. -
Запись в файл: Мы используем
My.Computer.FileSystem.WriteAllText
для записи всего содержимого в файл за один раз. При этом устанавливаем третий параметр вFalse
, чтобы не добавлять текст к уже существующему файлу, а перезаписывать его.
Таким образом, вы получите файл, в котором текст из RichTextBox, TextBox1 и TextBox2 будет расположен на разных строках.