c#中列表框中的拖放功能
本文关键字:拖放 功能 列表 | 更新日期: 2023-09-27 17:55:02
我使用列表框控件。我可以在列表框中拖放文件。我为上面的代码添加了以下代码:
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]);
}
这么多代码允许我在列表框中拖放一个文件。但是现在我还想允许用户拖放一个文件夹。我该怎么做呢?提前谢谢你。请帮助。
这可以帮助你!
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");
}