2010-02-12 1 views
1

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

+1

Какой OS/язык/API-интерфейс GUI? И дайте некоторый код! – 2010-02-12 07:42:21

+1

Это поможет, если вы укажете, какой язык/библиотеки вы используете. – Amber

+0

Я использую .NET framework 2.0 – Mohit

ответ

1

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

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

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

+0

Хорошо, позвольте мне попробовать. – Mohit