Команда Invalidate () не перерисовывает элемент управления - PullRequest
1 голос
/ 12 февраля 2010

Я пытаюсь разработать собственный элемент управления, для которого нужно нарисовать несколько прямоугольников. Теперь необходимо переместить 1 прямоугольник, поэтому я использовал переопределенный метод mousemove, чтобы получить новое местоположение и изменить часть расположения этого прямоугольника, а затем использовал команду Invalidate (). Но проблема в том, что весь прямоугольник нарисован вместо этого прямоугольника. Это исчезает. Если кто-то может указать, где я делаю неправильно, это было бы очень полезно. Спасибо.

1 Ответ

1 голос
/ 12 февраля 2010

Вы можете использовать частичное недействительное использование перегрузок Invallidate (). передать прямоугольник в качестве параметра Invalidate () или вы можете передать 4 числа, чтобы сделать это.

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

Конечно, вы должны сделать недействительным старое и новое место прямоугольника.

...