コード例 #1
0
ファイル: DiaryForm.cs プロジェクト: TimonBur/PersonalTool
        /// <summary>
        /// Обработчик события изменения элемента списка
        /// Считываем данные по файлу из списка.
        /// </summary>
        private void listBoxDocuments_SelectedIndexChanged(object sender, EventArgs e)
        {
            var listBox = (ListBox)sender;

            //Проверяем, чтобы список был не пустой
            if (listBox.Items == null || listBox.Items.Count == 0 || listBox.SelectedItem == null)
            {
                return;
            }

            var value = listBox.SelectedItem.ToString();
            var path  = GetFullPathStoryFileByFileName(value);

            //Получаем расширение из имени файла
            HelperFileName.ParsePath(path, out var _, out var __, out var ext);
            //Получаем нужный объект для считывания документа (зависит от расширения)
            IDocumentReader reader = HelperDocumentReader.CreateReader(ext);

            if (reader == null)
            {
                this.TextContainerDocumentContent.TextField.Text = "Не удалось считать данные из документа!";
                return;
            }

            reader.OpenDocument(path);
            if (reader.ReadAllTextData(out var data))
            {
                this.TextContainerDocumentContent.TextField.Text = data;
            }
            reader.CloseDocument();
        }