Настройка OpenFileDialog

Я работаю над приложением winforms в C #. Я хочу получить файл от пользователя, для которого я использую следующий код:

OpenFileDialog dlg = new OpenFileDialog(); if (dlg.ShowDialog() == DialogResult.OK) { string sFileName = dlg.FileName; //my code goes here } 

Теперь все работает нормально, но я хочу поместить 3 переключателя в том же диалоговом окне, то есть теперь я получаю две вещи из этого диалогового windows

 string sFileName = dlg.FileName; //same as in case of traditional dialog box //some thing like this which tells which radio button is selected: dlg.rbTypes.Selected 

Как мне это достичь?

3 Solutions collect form web for “Настройка OpenFileDialog”

Да, это возможно, я сделал такую ​​же настройку с помощью SaveFileDialog и это довольно интересно.

Следуйте следующим ссылкам:

http://www.codeproject.com/KB/dialog/OpenFileDialogEx.aspx

http://www.codeproject.com/KB/cs/getsavefilename.aspx

http://www.codeproject.com/KB/dialog/CustomizeFileDialog.aspx

Также мои собственные вопросы тоже помогут вам:

Изменить расположение по умолчанию кнопок «Сохранить» и «Отмена» в SaveFileDialog

Как остановить overwriteprompt при создании SaveFileDialog с помощью GetSaveFileName

Вы должны использовать WinAPI для этого, и вам нужно написать метод ShowDialog в своем собственном вызове GetOpenFileName Windows GetOpenFileName , вместо того, чтобы вызывать OpenFileDialog .net. GetOpenFileName создаст windows OpenFileDialog . (См. http://msdn.microsoft.com/en-us/library/ms646927%28v=vs.85%29.aspx ). Это вместе с написанием процедуры HookProc и таких событий, как WM_INITDIALOG, CDN_INITDONE внутри, поможет вам сделать то, что вы хотите.

Чтобы добавить радиокнопки и т. Д., Вам нужно вызвать функции Windows, такие как CreateWindowEx и SendMessage ….

Вторая ссылка имеет точное направление настройки …

Попросите разъяснения …

В XP вам нужно использовать метод процедуры hook и API GetOpenFileName. В Vista и позже это приведет к ужасному поиску файла с ограниченной утилитой, например, без поиска. В Vista вы должны использовать IFileDialog и настроить диалог, в котором вам нужен интерфейс IFileDialogCustomize. Поскольку новые диалоги Vista отображаются как COM-интерфейсы, их довольно легко потреблять в .net.

Попробуйте этот код:

 private void Browse_Click(object sender, EventArgs e) { var fdlg = new OpenFileDialog(); fdlg.Title = "Open a file"; fdlg.InitialDirectory = "c:/"; fdlg.Filter = "all files(*.*)|*.*|all files(*.)|*.*"; fdlg.FilterIndex = 2; fdlg.RestoreDirectory = true; if (fdlg.ShowDialog() == DialogResult.OK) { filetxt.Text = fdlg.FileName; } } 
  • Как создать событие в Usercontrol и обработать его в основной форме?
  • Передача данных между формами
  • Лучшая практика сохранения настроек приложения в приложении Windows Forms
  • Как создать окно сообщения с параметрами «Да», «Нет» и «Диалоговое окно»?
  • Как правильно остановить BackgroundWorker
  • Вызвать метод из другой формы
  • Закругленные края в кнопке C # (WinForms)
  • Использование Application.DoEvents ()
  • Отладка цели отсутствует?
  • Передача значения из одной формы в другую
  • Текстовое свойство в UserControl в C #
  • Interesting Posts

    Многомерные массивы в Swift

    Добавление большего количества ОЗУ на разных скоростях? Будет ли это влиять на производительность настолько, чтобы сделать ее хуже, чем без ее добавления?

    Как заставить MySQL дать право пользователю root?

    Поддерживает ли Java значения параметров по умолчанию?

    Файл хостов работает неправильно

    OCR и сходство символов

    Автоматическое выключение Windows 10 на <5 минут бездействия

    Вычислить разницу даты и времени в Excel

    Наследование в R

    Как проверить, является ли строка допустимым URL-адресом HTTP?

    Как читать растущий текстовый файл на C ++?

    Можно ли обнаружить предыдущую позицию байта на жестком диске после того, как она была перезаписана?

    Внутри OnClickListener я не могу получить доступ ко многим вещам – как подойти?

    Как подключить Wi-Fi-маршрутизатор к маршрутизатору кабельного модема?

    Проверьте, существует ли значение в dataTable?

    Давайте будем гением компьютера.