拖放 - vb.net

Posted

技术标签:

【中文标题】拖放 - vb.net【英文标题】:drag and drop - vb.net 【发布时间】:2011-09-12 14:34:14 【问题描述】:

我正在 Windows 应用程序中实现拖放。我有

    主窗体(具有搜索、打开、打印等工具栏)- MdiContainer 搜索时 - 打开一个子项 - 搜索表单。 将文件拖放到此搜索表单上的网格中。 在 Grid 的 DragDrop 事件中 - 调用模态表单。

我在这里遇到了麻烦。

当我将文件拖放到网格中的选定记录上时,我可以在Grid_DragDrop 事件中调用模态表单。但是这种模式形式会阻止一切,直到它关闭,而不是仅仅阻止对应用程序的访问。此外,当我移动此模态表单时,我看到表单移动的痕迹,并且在我关闭表单之前它不会消失。

我可以在单击按钮时调用相同的模态表单并可以移动它。没有任何形式的痕迹,它刷新得很好。它只会阻止应用程序而不是桌面。

我不知道为什么只有当我在 DragDrop 事件中调用模态表单时才会发生这种情况?

【问题讨论】:

【参考方案1】:

从 DragDrop 事件中显示模态表单真的是个坏主意。基本上,您使您的应用程序失控,因为它无法在 DragDrop 期间执行窗口所需的操作(包括重绘 DragDrop 源(桌面?)和目标)。

仅使用 DragDrop 事件来注册要放置的内容,然后再对其进行处理。

【讨论】:

以上是关于拖放 - vb.net的主要内容,如果未能解决你的问题,请参考以下文章

整个页面作为拖放区进行拖放

深入理解javascript原生拖放

Angular 7 拖放 - 动态创建拖放区

拖放完成或取消时在拖放源中触发的事件

Javar拖放

Javar拖放