перетащить - vb.net - PullRequest
       14

перетащить - vb.net

1 голос
/ 10 июня 2011

Я реализую Drag & Drop в приложении Windows. У меня

  1. Основная форма (имеет панель инструментов с поиском, открытием, печатью и т. Д.) - MdiContainer
  2. На поиске - Открыть ребенка - Форма поиска.
  3. Перетащите файл в таблицу в этой форме поиска.
  4. В событии DragDrop сетки - вызов модальной формы.

У меня тут проблемы.

Когда я перетаскиваю файл в выбранную запись в сетке, я могу вызвать модальную форму в событии Grid_DragDrop. Но эта модальная форма блокирует все, пока она не будет закрыта, а не просто блокирует доступ к приложению. Также, когда я перемещаю эту модальную форму вокруг, я вижу движение формы, и она не уходит, пока я не закрою форму.

Я могу вызывать одну и ту же модальную форму одним нажатием кнопки и перемещать ее. Нет следа формы, и он прекрасно обновляется. Блокирует только приложение, а не рабочий стол.

Я не понимаю, почему это происходит только тогда, когда я вызываю модальную форму в событии DragDrop?

1 Ответ

0 голосов
/ 03 августа 2011

Показ модальных форм из события DragDrop ДЕЙСТВИТЕЛЬНО плохая идея. По сути, вы заставляете ваше приложение работать вхолостую, потому что оно не может делать то, что требуется от окон во время DragDrop (включая перерисовку как источника DragDrop (рабочий стол?), Так и цели).

Используйте событие DragDrop ТОЛЬКО, чтобы зарегистрировать то, что отбрасывается, а затем обработать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...