要获取文件,Directory.GetFiles(path, extension)
如果您有一个扩展名,则可以使用。在我的示例中,我创建了一个处理多个扩展的方法。
除了 ListView,您还可以使用 CheckedListBox,它已经具有您需要的复选框。您可以获取文件(具有所需的扩展名)并像这样填充checkedListBox:
private void Form1_Load(object sender, EventArgs e)
{
const string path = @"c:/yourpath";
List<string> extensions = new List<string> { "EXE", "PNG" };
string[] files = GetFilesWithExtensions(path, extensions);
checkedListBox1.Items.AddRange(files);
}
private string[] GetFilesWithExtensions(string path, List<string> extensions)
{
string[] allFilesInFolder = Directory.GetFiles(path);
return allFilesInFolder.Where(f => extensions.Contains(f.ToUpper().Split('.').Last())).ToArray();
}
当然,如果您只需要 .ext 作为扩展名,它看起来应该是这样的:
private void Form1_Load(object sender, EventArgs e)
{
const string path = @"c:/yourpath";
const string extension = "*.ext";
checkedListBox1.Items.AddRange(Directory.GetFiles(path, extension));
}
一旦用户检查了他需要的文件,例如单击一个按钮,您就可以像这样获得选定的元素:
private void button1_Click(object sender, EventArgs e)
{
CheckedListBox.CheckedItemCollection selectedFiles = checkedListBox1.CheckedItems;
//Do stuff with files
}