2009-11-10 71 views
3

我想讓用戶用FolderBrowserDialog選擇一個文件夾並將文件加載到ListView中。如何將文件夾文件加載到ListView中?

我的意圖是做一個小的播放列表,所以我不得不修改我假設的ListView控件的幾個屬性。我應該在控制上設置哪些屬性?

我該如何實現這一目標?

回答

11

當然,你只需要做到以下幾點:

FolderBrowserDialog folderPicker = new FolderBrowserDialog(); 
    if (folderPicker.ShowDialog() == DialogResult.OK) 
    { 

     ListView1.Items.Clear(); 

     string[] files = Directory.GetFiles(folderPicker.SelectedPath); 
     foreach (string file in files) 
     { 

      string fileName = Path.GetFileNameWithoutExtension(file); 
      ListViewItem item = new ListViewItem(fileName); 
      item.Tag = file; 

      ListView1.Items.Add(item); 

     } 

    } 

然後再獲取文件出來,做一個按鈕,按以下或其他事件:

if (ListView1.SelectedItems.Count > 0) 
    { 

     ListViewItem selected = ListView1.SelectedItems[0]; 
     string selectedFilePath = selected.Tag.ToString(); 

     PlayYourFile(selectedFilePath); 

    } 
    else 
    { 
     // Show a message 
    } 

爲了獲得最佳觀看效果,請將ListView設置爲詳細模式:

ListView1.View = View.Details; 
2

基本功能看起來是這樣的:

public void DisplayFolder (string folderPath) 
    { 
     string[ ] files = System.IO.Directory.GetFiles(folderPath); 

     for (int x = 0 ; x < files.Length ; x++) 
     { 
      lvFiles.Items.Add(files[x]); 
     } 
    } 
0

列表項

私人無效buttonOK_Click_1(對象發件人,EventArgs的)

{ 

     DirectoryInfo FileNm = new DirectoryInfo(Application.StartupPath); 
     var filename = FileNm.GetFiles("CONFIG_*.csv"); 

//文件名CONFIG_123.csv,CONFIG_abc.csv等

 foreach(FileInfo f in filename) 
     listViewFileNames.Items.Add(f.ToString()); 

    } 
相關問題