Пока только для pdf-файлов. Для файлов Word'а придумал вариант только с конвертированием файла в pdf и отображение на экран уже pdf-файла.
На форме:
- Элемент TabControl (tabControl1)
- На вкладке tabPage1 элемент Button (button1)
- На вкладке tabPage2 элементы ListView (listView1) (в дизайнере свойству
View установить значение
List) и WebBrowser (webBrowser1)
Обработчик нажатия кнопки button1:
private void button1_Click(object sender, EventArgs e)
{
// перейти во вторую вкладку
tabControl1.SelectTab(1);
// очистить отображаемый список файлов
listView1.Items.Clear();
// отобразить список pdf-файлов из директории
foreach (string file in Directory.GetFiles(@"H:\Test\333", "*.pdf"))
{
listView1.Items.Add(new ListViewItem() { Text = Path.GetFileName(file), Tag = file });
}
}
Список файлов состоит из экземпляров класса "ListViewItem".
Свойство "Text" - то что отображается на экране, в данном случае это имя файла и расширение (без полного пути к файлу) (получаем с помощью функции Path.GetFileName).
Свойство "Tag" предназначено для пользовательских данных, в данном случае будем хранить там полный путь к файлу.
Обработчик события выбора файла:
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
// потому что при смене выбранного значения этот обработчик ловит ситуацию когда число выделенных элементов равно нулю, данный "костыль" нужен как раз для таких случаев
if (listView1.SelectedIndices.Count <= 0)
return;
// вывести содержимое файла на экран
webBrowser1.Navigate(listView1.SelectedItems[0].Tag.ToString());
}