Я создаю User Control в С#.Net 2.0. Я должен применять drag and Drop Images между этими элементами управления. Я сделал эффект перетаскивания.
Но проблема в том, что я должен показать движение управления при перетаскивании мышью. Для этого я рисую прямоугольник на экране с помощью ControlDrawReversibleFrame()
Проблема заключается в том, что при рисовании с событием перемещения мыши Rectangle нарисован поверх всего экрана и потому, что нет перерисовки на экране, он существует на экране.
Так что, пожалуйста, кто-нибудь скажет мне, как очистить рисованную графику или как заставить перерисовать экран.
Вы должны нарисовать "обратимый" кадр в том же положении, что и раньше, чтобы отменить его, прежде чем рисовать следующий кадр в новой позиции.
Псевдокод:
bool prev_rev_frame = false;
Rect prev_rev_rect;
...
void on_mouse_move() {
if(prev_rev_frame)
Control.drawReversableFrame(prev_rev_rect);
Rect new_rev_rect = ....
Control.drawReversableFrame(new_rev_rect);
prev_rev_frame = true;
prev_rev_rect = new_rev_rect;
}
Но в целом, я рекомендую менять курсор мыши на значок перетаскивания или миниатюра изображения будет гораздо более подходящим.