C# 如何仅删除windows窗体中的文件?

C# 如何仅删除windows窗体中的文件?,c#,winforms,C#,Winforms,我有一个表格,我想能够把文件放在上面。我有以下代码: private void Form1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy; else e.Effect = DragDropEffects.

我有一个表格,我想能够把文件放在上面。我有以下代码:

private void Form1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{
    if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
        e.Effect = DragDropEffects.Copy;
    else
        e.Effect = DragDropEffects.None;
}

我希望光标仅在删除文件时更改,而不是在删除目录时更改。上面的代码也对目录进行了更改。我做错了什么?文件是否有任何数据格式,或者我是否应该简单地检查在e.data中获取的对象以进行扩展?

您应该使用
文件.Exists检查数据?我认为如果它是一个文件,它将返回true,如果不是,它将返回false

以下是一个例子:


你试过这个吗?我想在鼠标拖动过程中进行文件访问会导致打嗝和口吃。@ StaveWeles,如果你不做每一次鼠标移动(剪贴板在拖拽时都是静态的),它就不会做一次。但我也没试过。有什么理由不检查文件扩展名吗?
        if(File.Exists(path)) 
        {
            // This path is a file
            ProcessFile(path); 
        }               
        else if(Directory.Exists(path)) 
        {
            // This path is a directory
            ProcessDirectory(path);
        }
        else 
        {
            Console.WriteLine("{0} is not a valid file or directory.", path);
        }