我试图创建一个Windows窗体,可以在其中放置文件/文件夹。
我在WinForms应用中有以下代码
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_DragEnter(object sender, DragEventArgs e)
{
Debug.Print("DragEnter");
}
private void Form1_DragDrop(object sender, DragEventArgs e)
{
MessageBox.Show("Dropped!");
}
}
我已将AllowDrop属性设置为true。
我试过在Visual Studio中以调试方式运行应用程序。
基于对其他类似问题的回答,我尝试以管理员身份运行编译的exe。
我试过不以管理员身份运行编译的exe。
但是无论我做什么,我都无法触发DragDrop事件。但是,会触发DragEnter事件。我想念什么?
最佳答案
您的DragDropEffect
是否设置正确?尝试将其放置在DragEnter事件处理程序方法中:
private void Form1_DragEnter(object sender, DragEventArgs e)
{
Console.WriteLine("DragEnter!");
e.Effect = DragDropEffects.Copy;
}
默认情况下,它设置为
DragDropEffects.None
,因此不会触发Drop事件。