Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 11
.NET 4.x

Проверка расширения в SaveFileDialog и загрузка данных

19.06.2016, 12:26. Показов 3858. Ответов 3

Студворк — интернет-сервис помощи студентам
День добрый
Есть небольшой вопросик с реализацией.
У меня есть Richtextbox и DataGridView. При нажатии открыть, загружаются из файлы. С загрузкой проблем нет.
Но есть проблема с тем что я хочу это запихнуть в одну кнопку, при этом он считывал расширение
Например: Если выбрали *.txt, то загружалось в richtextbox, если расширение *.xls то в datagridview.
Не знаю, как прописать условие
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 OpenFileDialog OP = new OpenFileDialog();
            OP.FileName = "";
            OP.Filter = "TXT File (*.txt)|*.txt|Excel 2003(*.xls)|*.xls|Excel 2007(*.xlsx)|*.xlsx";
            OP.Title = "Открыть документ";
            if (OP.ShowDialog() != DialogResult.Cancel)
            {
                {
                  if (*.txt)//то загрузка в richtextbox
                  {
                    try
                    {
                        richTextBox1.LoadFile(OP.FileName, RichTextBoxStreamType.PlainText);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString(), ex.Source);
                    }
                  }
                 
                  if (*.xls)
                   {
                     // то загрузка в datagridview
                   }
                }
            }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.06.2016, 12:26
Ответы с готовыми решениями:

Как указать доступные для выбора расширения файлов в SaveFileDialog?
Как указать доступные для выбора расширения файлов в SaveFileDialog? Добавлено через 4 минуты Те, которые рядом с Тип файла...

Проверка расширения файла
Доброго времени суток, уважаемы форумчане! Вопрос таков: можно ли проверить, является ли файл с заданным разрешением, например, *.exe...

Проверка расширения файла
Как сделать проверку? Предположим если файл имеет расширение *.html то открывать его в memo1 а если расширение *.css, открывать в memo2 ?

3
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
19.06.2016, 12:33
Лучший ответ Сообщение было отмечено rather как решение

Решение

rather, Используйте FilterIndex:

C#
1
2
3
4
5
switch(OP.FilterIndex)
{
  case 0: ...
  case 1: ...
}
1
0 / 0 / 0
Регистрация: 19.11.2015
Сообщений: 11
19.06.2016, 14:34  [ТС]
Цитата Сообщение от Storm23 Посмотреть сообщение
rather, Используйте FilterIndex:

C#
1
2
3
4
5
switch(OP.FilterIndex)
{
  case 0: ...
  case 1: ...
}
А можешь еще подсказать, как реализовать защиту в этом случае если при нажатии "открыть", файл не был выбран.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
case 3:
textBox1.Text = OP.FileName;
 
System.IO.FileStream stream =System.IO.File.Open(OP.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
   Excel.IExcelDataReader IEDR;
   int fileformat = OP.SafeFileName.IndexOf(".xlsx");
   if (fileformat > -1)
                 {                                   
                                    IEDR = Excel.ExcelReaderFactory.CreateOpenXmlReader(stream);
 
                                }
                                else
                                {
                                    IEDR = Excel.ExcelReaderFactory.CreateBinaryReader(stream);
                                }                             
                                IEDR.IsFirstRowAsColumnNames = true;
                                DataSet ds = IEDR.AsDataSet();                               
                                dataGridView1.DataSource = ds.Tables[0];
                                IEDR.Close();
break;
А то я голову ломаю, не могу понять в каком месте if поставить
знаю как сообщение вывести
C#
1
MessageBox.Show("Вы не выбрали файл для открытия","Загрузка данных...", MessageBoxButtons.OK, MessageBoxIcon.Error);
вызов окна происходит до switch
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
19.06.2016, 15:12
Цитата Сообщение от rather Посмотреть сообщение
как реализовать защиту в этом случае если при нажатии "открыть", файл не был выбран.
Если OP.ShowDialog() == DialogResult.OK, то файл точно был выбран.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.06.2016, 15:12
Помогаю со студенческими работами здесь

Проверка расширения файла
Доброго времени суток! Ребят помогите с созданием рег. выражения для проверки расширения файла. Должно проверить, если расширение НЕ как в...

Проверка расширения имени файла
Добрый день. Хотелось бы узнать, есть ли в builder-е что то стандартное для проверки расширения имени файла, а именно есть ли файл...

Проверка расширения файла перед загрузкой
что я делаю не так? выводит 2 ветку, даже если выбираю файлы формата txt <?php if(isset($_POST)){ if($_FILES == 0){ ...

Проверка расширения файла по его содержимому
Здравствуйте! Подскажите, пожалуйста: некоторое время я поступил на курсы С++ - и нам назначили итоговый проект. Назначили в стиле...

Проверка расширения файла перед загрузкой
Доброго времени суток уважаемые эксперты. Собственно сабж: как заставить пользователя выбирать только нужные типы файлов и отфильтровать не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru