2013-09-18 2 views
0

Я только что осуществил перетащить & в мое приложение. Она идет двумя путями:Запретить перетаскивание из моего приложения в мое приложение

  1. Из моего приложения в проводнике Windows: экспорт файлов
  2. из Windows Explorer, чтобы мое приложение: импортирует файлы

Один побочный эффект заключается в том, что я также перетаскивать файлы из моего приложение к моему приложению (то же окно), которое не предназначено.

Есть ли элегантный способ убедиться, что перетащить & операция с отбрасыванием, которую я начал, не будет принят моим приложением? Например. проверьте, есть ли источник операции drop! = мое приложение?

+0

как вы делаете перетаскивание? –

+0

Существует только один способ, которым я знаю: 'DoDragDrop (myData, DragDropEffects.Copy);' – Boris

ответ

0

Вам необходимо зарегистрировать тот факт, что вы инициировали перетаскивание из своего приложения с помощью какого-либо объекта или услуги. Если вы получаете отбросить заявку, спросите объект/услугу, было ли перетаскивание инициировано в вашем приложении. Если это так, отбросьте. Сбросьте объект/услугу после этого (в любом случае).

+0

Проблема в том, что в обоих направлениях мне нужно перетащить «DataFormats.FileDrop» (имена файлов) ... – Boris

0

Я только что понял способ сделать это. Теперь я установил два типа данных на моем перетащить & падение объекта данных:

  1. имена файлов, которые я хочу экспортировать
  2. Объект Unicode-текст, содержащий имя моего приложения

В мой обработчик Drop-checkbox я проверяю наличие объекта Unicode-Text и имя его приложения. Если это так, я отменяю операцию сбрасывания.

Смежные вопросы