2013-07-25 3 views
1

Я создал объект OpenFileDialog, называемый openFileDialog.Как фильтровать * .abc из * .abcd файлов при использовании OpenFileDialog?

При вызове openFileDialog.ShowDialog я хочу, чтобы иметь возможность выбрать файлы, имеющие только расширение «.abc» и не «.abcd».

Используя свойство:

this.openFileDialog.Filter = "*.abc"; 

не работает. Также могут быть выбраны файлы .abcd.

Вот полный код:

var openFileDialog = GetOpenFileDialog("abc", 
             "*.abc", 
             "anything (*.abc)|*.abc", 
             "Select abc file to import..."); 

if (openFileDialog.ShowDialog() == DialogResult.OK) 
{ DoJob(); }   

Где GetOpenFileDialog является:

private OpenFileDialog GetOpenFileDialog(string defaultExt, string fileName, string filter, string title) 
    { 
     return new OpenFileDialog 
      { 
       DefaultExt = defaultExt, 
       FileName = fileName, 
       Filter = filter, 
       Title = title, 
      }; 
    } 

Я был бы признателен за любую помощь. Благодаря!

+0

Там другая должность, как, что [здесь] [1] [1 ]: http://stackoverflow.com/questions/437914/filtering-file-names-getting-abc-without-abcd-or-abcde-and-so-on?rq=1 – Gabe

ответ

4

Используйте опцию фильтра в OpenFileDialog

this.openFileDialog.Filter = "abc files (*.abc)|*.abc" 
+0

Убрал мой комментарий, но heres [msdn ссылка] (http://msdn.microsoft.com/en-us /library/system.windows.controls.openfiledialog.filter%28v=vs.95%29.aspx) +1 – Sayse

+0

@Sayse Ваша ссылка для WPF, но я думаю, что это Windows Form, в этом случае это будет ['Фильтр 'Свойство") (http://msdn.microsoft.com/en-us/library/system.windows.forms.filedialog.filter.aspx). –

+0

@JeppeStigNielsen - OpenFileDialog - это то же самое, независимо от того, не так ли? – Sayse

0

Существует просто свойство фильтра для FileDialogs - http://msdn.microsoft.com/en-us/library/system.windows.forms.filedialog.filter.aspx

+0

Я установил этот .openFileDialog.Filter = "* .abc", но я все еще могу выбрать файлы «.abcd». –

+0

@mirelvlad «* .abc» возвращает файлы с расширением .abc, .abcd, .abcde, .abcdef и т. д. к сожалению , – JayH

Смежные вопросы