2013-04-15 5 views
-2

J'ai écrit Ce code sélectionnant uniquement les fichiers PDF, mais il ne fonctionne pasOuvrir le fichier de dialogue

OpenFileDialog fd = new OpenFileDialog(); 
fd.ShowDialog(); 
fd.Filter = "Pdf files (*.Pdf)|*.Pdf"; 
+7

Essayez le réglage du filtre avant d'appeler 'ShowDialog()'. Le réglage après ne fonctionnera pas comme prévu. –

Répondre

11

Vous devez définir le Filteravant d'ouvrir la boîte de dialogue.

OpenFileDialog fd = new OpenFileDialog(); 
fd.Filter = "Pdf files (*.Pdf)|*.Pdf"; //this should be before 
fd.ShowDialog(); 
1

Habib a la bonne réponse, mais je sentais que je voudrais ajouter que vous devriez vérifier la réponse à ShowDialog pour faire en sorte que l'utilisateur n'a pas annulé la boîte de dialogue. S'ils annulent la boîte de dialogue sans sélectionner de fichier, le OpenFileDialog indiquera que le nom de fichier est "", ce qui ne sera pas utile dans le reste de votre application.

Exemple

OpenFileDialog fd = new OpenFileDialog(); 
fd.Filter = "PDF Files(*.pdf)|*.pdf"; 
if (fd.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
{ 
    // Do stuff here 
} 
else 
{ 
    // The user cancelled the request to select a PDF 
} 

Hope this helps

Questions connexes