У меня есть OpenFileDialog
и я хочу только разрешить .txt
как действительный файл для пользователей.
Я знаю, что я могу добавить Filter
в OpenFileDialog
следующим образом:
var dialog = new OpenFileDialog();
dialog.DefaultExt = ".txt";
dialog.Filter = "Text Files (*.txt)|*.txt";
var result = dialog.ShowDialog();
// Do something with the result
Проблема, однако, в том, что я все еще могу прямо сказать что-то вроде "test.jpg"
в OpenFileDialog
а затем он открывает эту загрузку этого файла.jpg. (Очевидно, что это происходит неправильно позже, но на данный момент это не имеет значения.) Я просто хочу знать, как я могу ограничить пользователя только добавлением файлов ".txt", ничего больше? (Путем непосредственной проверки его внутри OpenFileDialog
вместо того, чтобы делать это где-то позже.)
Вы не можете сделать это только в OpenFileDialog и даже если вы можете это плохое ограничение.
Используя пример *.txt
есть несколько расширений файлов, которые являются обычным текстом внутри, *.bat
или все расширения файлов codding *.cs
, *.js
и т.д....
Вы не должны ограничивать пользователя тем файлом, который он может наложить на него.
Для более сложных типов файлов, если ваша программа не обрабатывает файл, переданный пользователем, вы должны показать ошибку, чтобы пользователь не пропускал файл.