仅拖放PDF文件

本文关键字:文件 PDF 拖放 | 更新日期: 2024-09-27 09:43:52

下面的代码列出了我在列表框中拖动的文件。现在我需要过滤,这样它只能列出PDF文件并丢弃其余文件。

private void Form1_Load(object sender, EventArgs e)
{
    listBoxFiles.AllowDrop = true;
    listBoxFiles.DragDrop += listBoxFiles_DragDrop;
    listBoxFiles.DragEnter += listBoxFiles_DragEnter;
}
private void listBoxFiles_DragEnter(object sender, DragEventArgs e)
{
    if (e.Data.GetDataPresent(DataFormats.FileDrop))
        e.Effect = DragDropEffects.Copy;
}
private void listBoxFiles_DragDrop(object sender, DragEventArgs e)
{
    string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
    foreach (string file in files)
        listBoxFiles.Items.Add(file);
}

仅拖放PDF文件

试试这个:

    private void listBoxFiles_DragDrop(object sender, DragEventArgs e)
    {
        string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
        foreach (string file in files)
        {
            if (Path.GetExtension(file) == "pdf")
            {
                listBoxFiles.Items.Add(file);
            }
        }
    }

此外,如果它有效,您可以使用Linq 在一行中实现它