2011-06-10 34 views
1

我正在實施拖動&拖放在Windows應用程序。我有拖放 - vb.net

  1. 主窗體(具有與搜索,打開,打印等工具欄) - MdiContainer
  2. 在搜索 - 打開一個孩子 - 搜索形式。
  3. 將文件拖放到此搜索表單上的網格中。
  4. 在Grid的DragDrop事件中 - 調用模態窗體。

我在這裏遇到了麻煩。

當我將文件拖放到網格中的選定記錄上時,我可以調用Grid_DragDrop事件中的模態窗體。但是,這種模式形式阻止了所有內容,直到它關閉,而不是阻止對應用程序的訪問。此外,當我移動這種模式形式時,我會看到形式移動的痕跡,直到我關閉表單纔會消失。

我可以在按鈕單擊時調用相同的模式窗體,並且可以移動它。沒有形式的痕跡,它刷新罰款。它只會阻止應用程序而不是桌面。

我對爲什麼只有當我在DragDrop事件中調用模態窗體時纔會發生這種情況?

回答

0

顯示來自DragDrop事件的模態窗體是REALLY不好主意。基本上你會讓你的應用程序變得不合時宜,因爲它在DragDrop期間無法完成Windows的需求(包括重繪DragDrop源(桌面?)和目標)。

僅使用DragDrop事件來註冊正在丟棄的內容,然後對其進行處理。