nmeri17 Ответов: 2

Как отобразить openfiledialog?


Я хочу написать крошечную программу с Windows form (вместо, возможно, WPF), но элемент управления file picker не отображается на форме.

Что я уже пробовал:

Я попробовал использовать текстовое поле, и оно появилось, но вместо этого средство выбора файлов закрепилось на этой небольшой вкладке под конструктором.
Я пошел в форму form1.Дизайнер.CS коде, в методе IntializeComponent, и добавил
this.openFileDialog1.ShowDialog();
Это приводит к тому, что средство выбора файлов запускает немедленную загрузку формы (поскольку оно инициализируется еще до загрузки любого элемента управления), а затем, когда я закрываю его, я могу найти только текстовое поле в форме, но не средство выбора файлов.


Я также попытался обернуть содержимое в контейнер управления, но это тоже не помогло.

[Изображения того, что дизайнер дает мне^]

2 Ответов

Рейтинг:
12

OriginalGriff

Открытые файловые компоненты вообще не отображаются - поэтому они появляются не на форме в конструкторе, а под ней.

Все, что вам нужно, - это решить, когда должен отображаться диалог, и написать код для его отображения в этот момент. Например, вам может понадобиться кнопка "Открыть" :

private void OpenFile_Click(object sender, EventArgs e)
   {
   OpenFileDialog ofd = new OpenFileDialog();
   ...
   if (ofd.ShowDialog() = DialogResult.OK)
      {
      ...
      }
   }


Рейтинг:
1

RickZeeland

Смотрите пример здесь: Как открыть файлы с помощью компонента OpenFileDialog | Microsoft Docs[^]
И пожалуйста не меняйся Форма form1.Дизайнер.в CS если это не совсем необходимо !