我正在使用列表框控件。我能够在列表框中拖放文件。我为上面添加了以下代码。
private void lstPDFFiles_DragEnter(object sender, DragEventArgs e)
{
//int i;
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.All;
else
e.Effect = DragDropEffects.None;
}
private void lstPDFFiles_DragDrop(object sender, DragEventArgs e)
{
string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false);
int i;
for (i = 0; i < s.Length; i++)
lstPDFFiles.Items.Add(s[i]);
}
这么多代码允许我在列表框中拖放1个文件。但现在我也想让用户拖放一个文件夹。我该怎么做呢 。先进的Thanx很多。请帮忙。
答案 0 :(得分:2)
这可以帮到你!
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string file in files)
{
if (Directory.Exists(file))
{
string[] filenames = Directory.GetFiles(file);
foreach (string filename in filenames)
{
GetFiles(filename);
}
}
GetFiles(file);
}
}
private void GetFiles(string file)
{
FileInfo fi = new FileInfo(file);
listView1.Items.Add(fi.Name);
listView1.Items[listView1.Items.Count - 1].SubItems.Add("test");
}