2012-04-21 3 views
1

Как мне открыть файлы с расширением .txt, я хочу, чтобы моя программа вышла сообщение об ошибке, если файл не является файлом .txt. Я хочу код, который может изменить этот код нижеФильтрация текстовых файлов в C#

private void button1_Click(object sender, EventArgs e) 
{ 
    OpenFileDialog of = new OpenFileDialog(); 
    of.ShowDialog(); 
    textBox1.Text = of.FileName; 
} 

Может кто-то помочь, скажем, я хочу поставить эту петлю

if fileextension is .txt then 
OpenFileDialog of = new OpenFileDialog(); 
      of.ShowDialog(); 
      textBox1.Text = of.FileName; 
else show error message(like can not open this file) 

ответ

1

Можно использовать Path.GetExtension метод для этого

OpenFileDialog of = new OpenFileDialog(); 
if(of.ShowDialog() == DialogResult.OK) 
{ 
    if(Path.GetExtension(of.FileName).Equals("txt", 
          StringComparison.InvariantCultureIgnoreCase)) 
           textBox1.Text = of.FileName; 
} 
+0

я имею ошибку и ее выделение на .ok –

+0

Ошибка \t \t 1 «System.Windows.Forms.DialogResult» не содержит определение для «Ok» и не метод расширения «Ok» принимая первый аргумент тип 'System.Windows.Forms.DialogResult' может быть найден (вам не хватает директивы using или ссылки на сборку? –

+0

@MildredShimz: исправлено: Ok => ОК. – Tigran

5

Как я правильно понял, вы хотите видеть только txt-файлы в вашем диалоговом окне? Если это так, используйте Filter.

OpenFileDialog of = new OpenFileDialog(); 
of.Filter = "Text files (*.txt)|*.txt"; 
+1

+1 - Если вы хотите использовать только текстовые файлы, отобразите только текстовые файлы в диалоговом окне. – Oded

+0

@Oded работает, но я хочу, чтобы он был сититуацией, где, если у меня есть файл doc, вы увидите ошибку –

+1

@MildredShimz - Дело в том, что с этим пользователь не сможет выбрать файл 'doc' или' docx'. – Oded

0

Вы не должны разрешать все расширения, если разрешено только расширение txt.

of.Filter = "Text Files|*.txt"; 

Будет ли OpenFileDialog принимать только файлы расширения txt.

+0

где я должен положить этот код ??? –

+0

Вы можете поместить код в конструктор формы или задать свойство Filter во время разработки. Щелкните компонент OpenFileDialog и перейдите в окно свойств, в Filter свойства и установите его в «Текстовые файлы | * .txt». – SimpleVar

+0

Вы должны увидеть, как в диалоговом окне файла отображаются только папки и файлы txt при его открытии. – SimpleVar

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