C# 拖放;从Windows资源管理器拖放到我的应用程序’;s文本框

C# 拖放;从Windows资源管理器拖放到我的应用程序’;s文本框,c#,windows,drag-and-drop,windows-explorer,C#,Windows,Drag And Drop,Windows Explorer,为什么从未输入dragdrop事件 private void textBox1_DragDrop(object sender, DragEventArgs e) { Array a = (Array)e.Data.GetData(DataFormats.FileDrop); e.Effect = DragDropEffects.All; Debug.WriteLine("were in dragdrop"); } private void textBox1_DragE

为什么从未输入dragdrop事件

private void textBox1_DragDrop(object sender, DragEventArgs e)
{
    Array a = (Array)e.Data.GetData(DataFormats.FileDrop);

    e.Effect = DragDropEffects.All;
    Debug.WriteLine("were in dragdrop");
}

private void textBox1_DragEnter(object sender, DragEventArgs e)
{
    if (e.Data.GetDataPresent(DataFormats.FileDrop, false) == true)
    {
        e.Effect = DragDropEffects.All;
    }
}

将e.Effect指定更改为DragDropEffects.Copy。再次检查事件分配是否仍然存在,单击“属性”窗口中的闪电图标。示例代码在中提供。请注意,您可以直接转换为字符串[]。

您是否已将文本框的“AllowDrop”属性改为“true”?默认情况下为false。如果我将窗体/窗口的AllowDrop设置为false,但将窗体中内部文本框/数据网格的AllowDrop设置为True,会怎么样?我不想让用户进入表单,只是进入表单中的数据网格。是的。。。但是我必须使用什么样的强制转换来获取文件及其真实数据呢?字节[]?仅获取文件的路径。读取文件需要编写代码。比如File.ReadAllBytes()。