Что делает метод invalidate?

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

Invalidate() метод входит шесть перегруженных внутри control class of System.Windows.Forms пространство имен.

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

6 ответов


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

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

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

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

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

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


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

из MSDN:

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

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


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

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


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

panel1.Invalidate();

Это метод рендеринга GUI-он заставляет windows перерисовывать видимую часть элемента управления.


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