Загрузите файл, указанный в списке в поле расширенного текста - PullRequest
0 голосов
/ 11 декабря 2018

Итак, я создаю программу, в которой она показывает файлы в каталоге, и я пытаюсь получить ее, поэтому, если вы щелкаете элемент внутри нее, она загружает содержимое файла (в тексте) в поле расширенного текста.

numberedRTB1.RichTextBox.LoadFile(listBox1.SelectedItem.Name, RichTextBoxStreamType.RichText);

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

1) Вы не смогли задать вопрос.

2) Скорее всего, вы хотите видеть имена без пути в списке, но для их загрузки требуется полный путь .

Для других списков e, g, ListView вы можете использовать элемент Tag, но ListBox содержит либо string, либо object, ни один из которых не обладает свойством Tag.

Итак, создайте class с двумя строковыми полями и методом ToString.

Теперь вы видите хорошее имя и можете получить доступ к полному пути ..


Пример кода для класса:

class ListItem
{
    public string Name { get; set; }
    public string FullPath { get; set; }

    public ListItem(string filename, string fullpath )
    { Name = filename; FullPath = fullpath; }

    public ListItem(FileInfo fileinfo )
    { Name = fileinfo.Name; FullPath = fileinfo.FullName; }


    override public string ToString() { return Name; }
}

Использование для загрузки ..:

FileInfo fi = new FileInfo("D:\\test.rtf");
// either..:
listBox1.Items.Add(new ListItem(fi.Name, fi.FullName));
// or :
listBox1.Items.Add((new ListItem(fi));

.. и для доступа:

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    ListItem item = listBox1.SelectedItem as ListItem;
    if (item != null)
    {
        if (File.Exists(item.FullPath) ) rtb.LoadFile(item.FullPath);
    }
}
0 голосов
/ 11 декабря 2018

Если у вас есть путь к вашему файлу, вы можете просто загрузить текст файла в RichTextBox с помощью метода ReadAllText(string path) из Файл Класс
Маленький пример

richTextBox.Text = File.ReadAllText("path/to/file");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...