2012-12-03 2 views
1

Мы хотим сохранить файлы с помощью .NET. System.Windows.Forms.SaveFileDialog.System.Windows.Forms.SaveFileDialog: сохранение нескольких форматов файлов с одинаковыми расширениями файлов

Мы несколько форматов файлов, которые используют же расширение файла (аналогично, как в Excel, где также есть два .CSV-форматов (MS-DOS и Macintosh)).

Кто-нибудь знает, как мы можем получить точный формат файла, который выбрал пользователь, а не только имя файла с расширением файла, так как они были бы идентичны. Конечно, без необходимости повторного внедрения диалога ... :-)

Приветствия!

+0

Вам нужно будет открыть файл, просмотреть содержимое и найти то, что существует только в одном из двух форматов файлов. Не зная, что на самом деле * детали формата файла, мы не можем сказать вам, как это сделать. – Servy

+0

но как я должен смотреть в файл, когда я его еще не сохранил? – brgn

ответ

3

Вы можете использовать FilterIndex -Property SaveFileDialog, чтобы определить, какой FileType пользователь выбрал.

SaveFileDialog oDialog = new SaveFileDialog(); 
oDialog.Filter = "CSV-File (Macintosh) (*.csv)|*.csv|CSV-File (MS-DOS) (*.csv)|*.csv"; 
oDialog.FilterIndex = 1; 

if (oDialog.ShowDialog() == DialogResult.OK) 
{ 
    switch (oDialog.FilterIndex) 
    { 
     case 1: 
      // Handle CSV (Macintosh) 
      break; 
     case 2: 
      // Handle CSV (MS-DOS) 
      break; 
    } 
} 
+0

Расширения файлов идентичны, согласно OP. – Servy

+1

Вот почему вы должны использовать FilterIndex вместо расширений. Я обновил ответ, чтобы он лучше соответствовал вашему вопросу. Excel делает то же самое;) – Carsten

+0

yep, вот и все. благодаря! – brgn

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