我正在 C#.Net 2.0 中创建用户控件。我必须在这些控件之间应用拖放图像。我做了拖放效果。
但问题是我必须在鼠标拖动时显示控件移动。为此,我在 ControlDraw.DrawReversibleFrame() 的帮助下在屏幕上绘制了一个矩形
问题是,在使用鼠标移动事件绘制时,矩形会在整个屏幕上绘制,并且由于屏幕上没有重新绘制,所以它存在于屏幕上。
所以请谁能告诉我如何清除绘制的图形或如何强制重绘屏幕。
在新位置绘制下一帧之前,您必须在与之前相同的位置绘制“可反转”帧以将其反转。
伪代码是:
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;
}
但总的来说,我建议将鼠标光标更改为拖放图标或图像的缩略图会更合适。
我是一名优秀的程序员,十分优秀!