拖放 - vb.net

时间:2011-06-10 15:28:19

标签: windows vb.net drag-and-drop

我正在实施Drag&放入Windows应用程序。我有

  1. 主表单(具有搜索,打开,打印等工具栏) - MdiContainer
  2. 搜索 - 打开一个孩子 - 搜索表单。
  3. 将此文件拖放到此搜索表单上的网格中。
  4. 在Grid的DragDrop事件中 - 调用模态表单。
  5. 我在这里遇到麻烦。

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

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

    我无法解释为什么只有当我在DragDrop事件中调用模态窗体时才会发生这种情况?

1 个答案:

答案 0 :(得分:0)

从DragDrop事件中显示模态表单真的坏主意。基本上你让你的应用程序变得乱七八糟,因为它在DragDrop期间无法执行窗口需要它(包括重绘DragDrop源(桌面?)和目标)。

仅使用DragDrop事件来注册要删除的内容,然后再处理它。