2013-04-15 211 views
-2

我寫此代碼只選擇PDF文件,但它不工作打開文件對話框

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

嘗試調用之前設置過濾器'的ShowDialog()'。之後設置將不會按預期工作。 –

回答

11

您需要打開該對話框之前設置Filter第一。

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

哈比卜有正確的答案,但我覺得我想補充一點,你應該檢查ShowDialog的響應,以確保用戶沒有取消對話框。如果他們在不選擇文件的情況下取消對話框,則OpenFileDialog將會說文件名是「」,這在您的應用程序的其餘部分中不會有用。

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 
} 

希望這有助於