用 ListView 顯示資料夾內容
How can I load a folders files into a ListView?
I'd like to have a user select a folder with the FolderBrowserDialog and have the files loaded into the ListView.
My intention is to make a little playlist of sorts so I have to modify a couple of properties of the ListView control I'm assuming. What properties should I set on the control?
How can I achive this?
Answer 1
Surely you just need to do the following:
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);}}
Then to get the file out again, do the following on a button press or another event:
if (ListView1.SelectedItems.Count > 0){ListViewItem selected = ListView1.SelectedItems[0];string selectedFilePath = selected.Tag.ToString();PlayYourFile(selectedFilePath);}else{// Show a message}
For best viewing, set your ListView to Details Mode:
ListView1.View = View.Details;
Answer 2
A basic function could look like this:
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]);}}
Answer 3
List item
private void buttonOK_Click_1(object sender, EventArgs e)
{DirectoryInfo FileNm = new DirectoryInfo(Application.StartupPath);var filename = FileNm.GetFiles("CONFIG_*.csv");
//Filename CONFIG_123.csv,CONFIG_abc.csv,etc
foreach(FileInfo f in filename) listViewFileNames.Items.Add(f.ToString());}
http://stackoverflow.com/questions/1708239/how-can...
陳鍾誠 (2012年02月15日),(網頁標題) 用 ListView 顯示資料夾內容,(網站標題) 免費電子書:C# 程式設計,2012年02月15日,取自 http://cs0.wikidot.com/listviewfiles ,網頁修改第 0 版。