首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

C# 實作 OpenFileDialog 多選圖片並顯示於 ListView(含檔名、路徑、類型)

     編輯:ASP.NET 基礎

前言

在 Windows Forms 應用程式中,常見的需求是讓使用者一次選取多張圖片,並在 ListView 控制項中以明細檢視呈現檔案名稱、完整路徑與副檔名。本文提供一個精簡且實用的完整範例,示範如何搭配 OpenFileDialog 與 ListView 達成此功能。

關鍵屬性設定

  • ListView.View:設為 Details,才能顯示多欄資料。
  • OpenFileDialog.Multiselect:設為 true,允許使用者按住 Ctrl/Shift 多選檔案。

完整程式碼範例

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
    listView1.Items.Clear(); // 先清空舊資料
    string[] files = openFileDialog1.FileNames; // 取得所有選取的檔案完整路徑
    string[] fileInfo = new string[3]; // 暫存:檔名、路徑、類型

    foreach (string fullPath in files)
    {
        // 取得純檔名(含副檔名)
        string fileName = Path.GetFileName(fullPath);
        // 取得副檔名(不含點號)
        string fileType = Path.GetExtension(fileName).TrimStart('.');

        fileInfo[0] = fileName;
        fileInfo[1] = fullPath;
        fileInfo[2] = fileType;

        ListViewItem lvi = new ListViewItem(fileInfo);
        listView1.Items.Add(lvi);
    }
}

程式碼解析

  1. 呼叫 ShowDialog() 開啟對話框,使用者確認後進入 if 區塊。
  2. FileNames 屬性回傳字串陣列,包含所有被選取檔案的完整路徑。
  3. 使用 Path.GetFileName 與 Path.GetExtension 取代手動 Substring,程式碼更易讀且跨平台相容性較佳。
  4. 將三項資訊封裝成 ListViewItem,一次加入 ListView。

進階建議

  • 若需顯示縮圖,可改用 ListView.LargeImageList 搭配 ImageList,並在迴圈中載入縮圖。
  • 大量檔案時建議加入 BackgroundWorker 或 async/await 避免 UI 凍結。

小結

透過 OpenFileDialog.Multiselect 與 ListView.Details 的組合,僅需十幾行程式碼即可完成多檔案選取與資訊顯示,適合作為檔案匯入、批次處理功能的起手式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved