Windows窗体:如何在TextBox上拖放.xml文件

本文关键字:拖放 xml 文件 TextBox 窗体 Windows | 更新日期: 2023-09-27 18:23:42

我有一个Windows窗体文本框,我想允许用户在其中从Windows资源管理器拖放文件。我只想允许在TextBox上删除一个.xml文件(路径)。在DragEnter事件中测试要删除的文件格式的方法是:

private void DragEnter(object sender, DragEventArgs e)
{
  if (e.Data.GetDataPresent(DataFormats.Text))
    e.Effect = DragDropEffects.Move;
  else
    e.Effect = DragDropEffects.None;
}

上面的DataFormats不包含Xml。如果我使用DataFormats.FileDrops,据我所知,我允许删除任何类型的文件。有什么想法吗?提前感谢!

Windows窗体:如何在TextBox上拖放.xml文件

您应该检查DataFormats.FileDrop,然后获取文件名并验证文件扩展名,然后根据删除的文件数量及其扩展名(在您的情况下,只有1和xml文件扩展名),根据需要设置DragDropEffects

用一个工作示例检查这个答案:https://stackoverflow.com/a/736883/559144