Я создаю настольное приложение на С# с помощью Windows Forms. У меня есть пользовательский элемент управления, и я бы хотел, чтобы он мог перетащить его в мое приложение (а не снаружи). Сейчас я реализую это с помощью обычных методов DoDragDrop/OnDragOver/OnDragDrop. Есть ли способ постоянно рисовать элемент управления, поскольку он перетаскивается - вроде того, что вы видите с помощью JQuery drag-and-drop? Я хочу, чтобы фактический элемент управления оставался на месте, но я хочу нарисовать копию его внешнего вида, когда пользователь тащит его. В идеале копия была бы даже полупрозрачной, но более "приятной".
Единственный способ, которым я могу это сделать, - поместить код краски в основной метод OnPaint формы, но это похоже на неэлегантное решение. Любые другие идеи? Легче ли что-то проще, если Control красит себя как растровое изображение?