invalidate
方法在winform
app中做了什么?
Invalidate()
方法在control class
命名空间的System.Windows.Forms
内附带六重载表单。< / p>
感谢.....
答案 0 :(得分:32)
Windows窗体使用GDI进行渲染。 GDI是Windows中的原始图形界面。 DirectX是最初为游戏开发创建的新界面,但现在也被更高级别的框架(如WPF)使用。
GDI基于绘画方法的概念。显示窗口时,Windows将向负责窗口的代码发送绘制消息。这将导致调用paint方法。然后,绘制方法应该将窗口的内容绘制到屏幕上。
当GDI程序想要更新显示的内容时,它无法直接将更新的图像绘制到屏幕上。相反,它必须告诉Windows一个区域需要更新。这称为使区域无效。然后,Windows将调用相关的绘制方法,提供有关无效的信息并需要更新。然后,paint方法应该将更新的内容绘制到屏幕上。
当窗口被拖过其他窗口时,也会使用这种更新屏幕内容的方法。当开发GDI时,图形硬件非常慢,并且在Windows内部完成了很多工作来缓存位图,并且只能使更改的内容失效和更新。
当绘制重叠的窗口或子窗口时,它会返回到前面以获得正确的视觉元素分层。这可能导致闪烁的背景被擦除和绘制,然后是前面的其他元素。如果重绘速度比屏幕刷新慢,您可能会注意到一些闪烁。这是使用Windows窗体创建的GDI应用程序的标志。
在Windows窗体中无效控件时,您要求重绘。
答案 1 :(得分:6)
答案 2 :(得分:3)
它会导致控件重新绘制。 http://msdn.microsoft.com/en-us/library/system.windows.forms.control.invalidate.aspx
除非您正在进行一些低级图形操作,否则很少需要调用此方法。
答案 3 :(得分:2)
Invalidate()方法将重绘控件。例如,如果您使用包含标签和文本框的面板“panel1”,则以下代码将重绘标签和文本框(通过调用Paint事件)
panel1.Invalidate();
答案 4 :(得分:1)
这是一种GUI渲染方法 - 它强制窗口重绘控件的可见部分。
答案 5 :(得分:1)
它基本上调用控件的PaintBackground和Paint方法。