.NET — UserControl Drag & Drop — дочерние элементы управления

У меня есть FlowLayoutPanel и UserControl с переупорядочением перетаскиванием. Это работает. Но проблема в том, что дочерние элементы управления предотвращают перетаскивание фактического родительского элемента управления UserControl.

Итак, мой вопрос: как включить перетаскивание UserControl, содержащего дочерние элементы управления?


person SharpAffair    schedule 19.03.2012    source источник
comment
Каким образом они предотвращают перетаскивание родительского контроля? Заполнить все пространство? Или блокировка самого родителя на месте?   -  person Mike Guthrie    schedule 19.03.2012
comment
Попробуйте нажать на поверхность родителя. Я думаю, что вы можете перетащить родителя, но вы не можете перетащить его, если вы нажмете на дочерний пользовательский элемент управления внутри него.   -  person lex87    schedule 23.03.2012


Ответы (1)


Если я вас правильно понимаю, у меня была та же проблема, что и у вас, и я решил ее, распространив события дочернего элемента на его родителя.

Если у вас есть перетаскиваемый пользовательский элемент управления, содержащий метку. Вы должны вызывать события UserControl, когда происходят события метки. Например. в Label OnMouseDown() вызовите UserControl OnMouseDown() и просто передайте Event-Args. Я не нашел лучшего способа, чем отдельно обрабатывать каждое событие, необходимое для перетаскивания.

person steckl    schedule 27.03.2012