Я хочу сохранить richtextbox и 2 текстовых поля одним кликом в одном txt-файле.

Вопрос или проблема

Частный Подпрограмма 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

Объяснение изменений:

  1. Объединение строк: Мы создаем одну строку content, которая содержит текст из RichTextBox, TextBox1 и TextBox2, разделенный символами новой строки (vbNewLine). Это обеспечивает, что каждая часть текста будет находиться на отдельной строке в файле.

  2. Запись в файл: Мы используем My.Computer.FileSystem.WriteAllText для записи всего содержимого в файл за один раз. При этом устанавливаем третий параметр в False, чтобы не добавлять текст к уже существующему файлу, а перезаписывать его.

Таким образом, вы получите файл, в котором текст из RichTextBox, TextBox1 и TextBox2 будет расположен на разных строках.

Оцените материал
Добавить комментарий

Капча загружается...