我对此感到困惑。我尝试在 DataGridView
上实现拖放操作。由于没有看到任何事件被触发,我尝试了一个带有文本框的简单表单。
我希望能够从 Windows 资源管理器中拖动文件或文件夹。
我遗漏了一些东西,因为这些事件永远不会触发。我确实读过 DragEvents, Windows 7 and UIPI但我仍然无法解决这个问题。
我没有想法,我欢迎你的建议。
public Form1()
{
InitializeComponent();
this.AllowDrop = true;
textBox1.AllowDrop = true;
textBox1.DragEnter += new DragEventHandler(textBox1_DragEnter);
textBox1.DragDrop += new DragEventHandler(textBox1_DragDrop);
textBox1.DragOver += new DragEventHandler(textBox1_DragOver);
}
void textBox1_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
void textBox1_DragDrop(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
void textBox1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
这似乎应该 有效。我在 WP7 64 上进行了全新安装 - 包含所有更新,我没有运行病毒或恶意软件保护,或任何(据我所知)可以阻止这些事件触发的东西。
最佳答案
我遇到了同样的问题。这只是因为我正在从“以管理员身份运行” session 中进行调试。我认为,自从 VISTA 以来,就有一种安全措施可以防止掉落到特权应用程序。
关于C# WinForms DragEnter 从不触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8776719/