2014-05-24 66 views
3

我正在使用多選文件對話框瀏覽多個圖片並將它們添加到datagridview,然後從那裏將它們存儲在數據庫中。Openfiledialog Multiselect

有些東西是錯誤的,因爲我只設法存儲第一個選定的圖片(根本沒有語法或運行時錯誤)。

經過檢查,我意識到文件對話框只能獲得第一張圖片的完整路徑,並將其用於剩餘的圖片。

示例代碼:

if (ofd_pic.ShowDialog() == DialogResult.OK) 
{ 
    foreach (String file in ofd_pic.FileNames) 
    { 
    MessageBox.Show(ofd_pic.FileName); 
    } 
} 

這消息框將始終只顯示前圖像的路徑,我是不是能夠得到的每一個選擇圖片的路徑。

文件對話框的屬性是:

1.Modifiers:私人。 2. MultiSelect:True。 3. RestoreDirectory:真。

任何幫助?

+0

如何說它只顯示一條路徑?當你選擇兩個文件時會發生什麼,然後用messagebox顯示文件名。當您關閉該消息框時會發生什麼。其他消息框是否彈出? – dotnetstep

回答

9

你實際上遍歷所有的文件,但你從來沒有使用它。您需要使用循環變量file

foreach (String file in ofd_pic.FileNames) 
{ 
    MessageBox.Show(file); 
} 

ofd_pic.FileName財產應僅用於當您設置MultiSelectfalse,那麼只有很有道理。我想FileName返回第一個文件,當你啓用MultiSelect

1

您使用了錯誤的參數。

if (ofd_pic.ShowDialog() == DialogResult.OK) 
{ 
foreach (String file in ofd_pic.FileNames) 
{ 
MessageBox.Show(file); 
} 
}