Из того, что я могу сказать, нет способа сказать, было ли падение файлом или папкой.WindowsExplorer Drop Получить файлы и файлы из папок
if (fi.Extension == "") недостаточно, поскольку это соответствует каталогу, а также файлу без расширения.
Единственный способ, которым я нашел, это: .GetFiles() и обработать исключение.
Есть ли лучший способ?
private void ListView0_DragDrop(object sender, DragEventArgs e)
{
// Can only drop files, so check
if (!e.Data.GetDataPresent(DataFormats.FileDrop))
{
return;
}
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
FileInfo fileInfo;
DirectoryInfo dirInfo;
foreach (string str in files)
{
dirInfo = new DirectoryInfo(str);
try
{
foreach(FileInfo fi in dirInfo.GetFiles())
{
Debug.WriteLine("File in dir " + fi.Name);
}
}
catch
{
fileInfo = new FileInfo(str);
Debug.WriteLine("File " + str);
}
}
. Это работает. +1 Если ничто не сглаживает к концу дня, я буду отмечать как ответ. – Paparazzi