2013-12-13 63 views
1

我做了一個幻燈片程序。當我加載一個包含圖像的文件夾時,它工作正常。當我加載一個沒有圖像的文件夾時,它會產生一個錯誤。可能是什麼問題?當我加載一個沒有圖像的文件夾時winforms產生錯誤

這是我的代碼。

private void openSlideShowFolder_Click(object sender, EventArgs e) 
{ 
    if(folderBrowserDialog1.ShowDialog() == DialogResult.OK) 
    { 
     string[] pics1 = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.jpg"); 
     string[] pics2 = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.jpeg"); 
     string[] pics3 = Directory.GetFiles(folderBrowserDialog1.SelectedPath, "*.bmp"); 
     folderFile = new string[pics1.Length + pics2.Length + pics3.Length]; 
     Array.Copy(pics1, 0, folderFile, 0, pics1.Length); 
     Array.Copy(pics2, 0, folderFile, pics1.Length, pics2.Length); 
     Array.Copy(pics3, 0, folderFile, pics1.Length + pics2.Length, pics3.Length); 
     selected = 0; 
     showImage(folderFile[selected]); 
    } 
} 
+3

什麼可能是錯誤是?請提供錯誤訊息? – Alec

回答

2

當你有沒有文件,然後folderFile.Length == 0showImage(folderFile[selected]);將拋出一個異常,因爲在所有在0指數中也沒有數組元素。它是數組邊界之外的訪問。你應該檢查數組邊界:

if (folderFile.Length > 0) 
    showImage(folderFile[selected]); 
相關問題