Member 11856456 Ответов: 2

Как читать несколько текстовых файлов в richtextbox


Я попытался повторно использовать некоторый код, который у меня был из другого проекта, включавшего изображения. Однако изображения и текст различаются по способу доступа к ним.

Вот мой код на данный момент:

Dim Files As New OpenFileDialog
       Files.Filter = "text(*.TXT files|*.txt"
       ' Allow the user to select multiple images.
       Files.Multiselect = True
       Files.Title = "Select an image"
       Files.ShowDialog()

       Dim fileCount = Files.FileNames.Length
       Dim text(fileCount - 1) As New StreamReader

       For i As Integer = 0 To fileCount - 1


           Text(i) = Text.FromFile(Files.FileNames(i))

           'Gets all filenames selected as a string
           ' Dim Imagename As String = Path.GetFileNameWithoutExtension(Files.FileNames(i))
           Dim textpath As String = Path.GetFullPath(Files.FileNames(i))

           Me.RichTextBox1.LoadFile(textpath, RichTextBoxStreamType.PlainText)



проблема, с которой я сталкиваюсь, заключается в том, что он читает только один файл. кроме того,
Text(i) = Text.FromFile(Files.FileNames(i))
Я не знаю, как преобразовать это во что-то полезное для текста?

Что я уже пробовал:

Я уже пробовал удалить
Text(i) = Text.FromFile(Files.FileNames(i))
полностью, но это не дало того результата, который я искал.

Maciej Los

Сколько там текстовых полей?

2 Ответов

Рейтинг:
4

Richard Deeming

На первый взгляд, что-то вроде этого должно сработать:

Dim fileCount = Files.FileNames.Length
Dim text(fileCount - 1) As String

For i As Integer = 0 To fileCount - 1
    Dim textpath As String = System.IO.Path.GetFullPath(Files.FileNames(i))
    Text(i) = System.IO.File.ReadAllText(textpath)
Next

Me.RichTextBox1.Text = String.Join(Environment.NewLine, Text)


Member 11856456

Потрясающе, я ценю это. Это именно то, что мне было нужно.

Рейтинг:
2

Maciej Los

Член 11856456[^] писанное:
Как читать несколько текстовых файлов в richtextbox

Ну, используя Метод RichTextBox.LoadFile (String, RichTextBoxStreamType) (System.Окна.Формы)[^- ты не можешь! См. документацию MSDN:
Цитата:

Замечания
При загрузке файла с помощью метода LoadFile, содержимое загружаемого файла заменяет все содержимое элемента управления RichTextBox Это приведет к изменению значений свойств Text и Rtf. Этот метод можно использовать для загрузки ранее созданного текстового документа или документа в формате RTF в элемент управления для манипулирования. Если вы хотите сохранить файл, вы можете использовать метод SaveFile.


Вывод: вы должны предоставить пользовательскую логику для добавления содержимого другого файла. Вы можете использовать TextBoxBase.Собственность Линии (Системы.Окна.Формы)[^].

Что касается этого фрагмента кода: Text(i) = Text.FromFile(Files.FileNames(i)) я ничего не могу сказать... Что ж... это может быть набор текстовых полей под общим именем.


Member 11856456

Я ценю обратную связь, все еще пытаясь заставить Richtextbox хранить текстовую информацию из нескольких текстовых файлов.