Что делает недействительный метод? - PullRequest
11 голосов
/ 21 июня 2011

Что делает метод invalidate в приложении winform?

Invalidate() метод поставляется с шестью перегруженными формами внутри control class из System.Windows.Forms пространства имен .

Спасибо .....

Ответы [ 6 ]

32 голосов
/ 21 июня 2011

Windows Forms использует GDI для рендеринга.GDI - это оригинальный графический интерфейс в Windows.DirectX - это более новый интерфейс, изначально созданный для разработки игр, но теперь он также используется средами более высокого уровня, такими как WPF.

GDI основан на концепции метода рисования.Когда окно отображается, Windows отправит сообщение о рисовании коду, ответственному за окно.Это приведет к вызову метода рисования.Метод рисования должен затем нарисовать содержимое окна на экране.

Когда программа GDI хочет обновить отображаемое , она не может напрямую нарисовать обновленное изображение на экране .Вместо этого он должен сказать Windows, что область должна быть обновлена.Это называется аннулирование региона.Затем Windows вызовет соответствующий метод рисования, предоставляющий информацию о том, что недействительно и нуждается в обновлении.Затем метод рисования должен отобразить обновленное содержимое на экране.

Этот метод обновления содержимого экрана также используется, когда окна перетаскиваются через другие окна.Когда GDI разрабатывался, графическое оборудование было довольно медленным, и внутри Windows была проделана большая работа для кэширования растровых изображений и только для аннулирования и обновления того, что изменилось.

Когда отрисовываются перекрывающиеся окна или дочерние окна, это делается обратнофронт, чтобы получить правильное наложение визуальных элементов.Это может привести к мерцанию, когда фон стирается и рисуется, за которым следуют другие элементы впереди.Если скорость перерисовки ниже, чем при обновлении экрана, вы можете заметить некоторое мерцание.Это контрольный признак приложения GDI, возможно созданного с использованием Windows Forms.

В Windows Forms, когда вы аннулируете элемент управления, который вы запрашиваете, чтобы он был redrawn .

6 голосов
/ 21 июня 2011

Просит окна перерисовать клиентскую область недействительного окна.

Из MSDN:

"Делает недействительной всю поверхность элемента управления и вызывает перерисовку элемента управления."

http://msdn.microsoft.com/en-us/library/598t492a.aspx

3 голосов
/ 21 июня 2011

Это вызывает перекрашивание элемента управления. http://msdn.microsoft.com/en-us/library/system.windows.forms.control.invalidate.aspx

Вам редко потребуется вызывать этот метод, если вы не выполняете какие-либо низкоуровневые графические манипуляции.

2 голосов
/ 21 июня 2011

Метод Invalidate () перерисовывает элемент управления.Например, если вы используете панель «panel1», которая содержит метку и текстовое поле, следующий код перерисовает как метку, так и текстовое поле (вызывая событие Paint)

panel1.Invalidate();
1 голос
/ 21 июня 2011

Он в основном вызывает методы управления PaintBackground и Paint.

1 голос
/ 21 июня 2011

Это метод визуализации в графическом интерфейсе - он заставляет Windows перерисовывать видимую часть элемента управления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...