1

我正在尝试开发一个需要绘制一些矩形的自定义控件。现在,需要移动 1 个矩形,因此我使用覆盖的 mousemove 方法来获取新位置并更改该矩形的位置部分,然后使用 Invalidate() 命令。但问题是,绘制的是整个控件而不是那个矩形。它正在消失。如果有人能指出我做错了什么,那将是一个很大的帮助。谢谢。

4

1 回答 1

1

您可以使用 Invallidate() 重载来使用部分无效。将矩形作为参数传递给 Invalidate() 或者您可以传递 4 个数字来执行此操作。

Invalidate(new Rectangle(left, top, width, height));

当然,您必须使矩形的旧位置和新位置无效。

于 2010-02-12T07:53:43.693 回答