#c# #winforms #openfiledialog
#c# #winforms #openfiledialog
Вопрос:
Я использую OpenFileDialog
для открытия определенного типа файлов, для этого я устанавливаю Filter
свойство OpenFileDialog
. Настройка фильтра скрывает только файлы, которые не имеют расширений фильтра, но пользователь все равно может выбрать эти файлы, введя имя файла в OpenFileDialog
текстовом поле «Имена файлов:». Я хочу, чтобы пользователь не мог выбрать файл, который находится вне настроек фильтра, даже введя путь вручную в текстовом поле OpenFileDialog «Имена файлов:».
Это код.
private void button7_Click(object sender, EventArgs e)
{
EncryptFile();
}
public void EncryptFile()
{
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "Office Files|*.doc;*.xls;*.ppt";
dialog.InitialDirectory = @"C:";
dialog.Title = "Please select an office file to encrypt.";
string fileName = "";
if (dialog.ShowDialog() == DialogResult.OK)
{
fileName = dialog.FileName;
/// doing something
}
}
Комментарии:
1. Функция, а не ошибка. Используйте его событие FileOk, чтобы отклонить файлы, которые вам не нравятся.
2. @HansPassant, я не говорю, что это ошибка! скорее я искал какой-либо встроенный способ в OpenFileDialog самостоятельно, чтобы моя явная проверка могла удалить то, что вы предлагаете.