invalidate
方法在 winform
应用程序中有什么作用?
Invalidate()
方法在 System.Windows 的
命名空间.控制类
中带有六个重载形式.Forms
谢谢.....
最佳答案
Windows 窗体使用 GDI 进行渲染。 GDI 是 Windows 中最初的图形接口(interface)。 DirectX 是一种较新的界面,最初是为游戏开发而创建的,但现在也被 WPF 等更高级别的框架使用。
GDI 基于绘画方法的概念。当显示一个窗口时,Windows 将向负责该窗口的代码发送一条绘制消息。这将导致调用 paint 方法。然后,paint 方法应将窗口的内容绘制到屏幕上。
当 GDI 程序想要更新显示的内容时,它不能直接将更新后的图像绘制到屏幕上。相反,它必须告诉 Windows 某个区域需要更新。这称为使区域无效。然后,Windows 将调用相关的绘制方法,提供关于什么是无效 和需要更新的信息。然后,paint 方法应将更新后的内容绘制到屏幕上。
当窗口被拖动到其他窗口时,也会使用这种更新屏幕内容的方法。当开发 GDI 时,图形硬件非常慢,并且在 Windows 内部完成了大量工作以缓存位图并仅使更改的内容无效和更新。
当绘制重叠窗口或子窗口时,它会从后往前完成,以获得视觉元素的正确分层。这可能会导致闪烁,背景被删除并绘制,后面是前面的其他元素。如果重绘速度比屏幕刷新慢,您可能会注意到一些闪烁。这是可能使用 Windows 窗体创建的 GDI 应用程序的明显迹象。
在 Windows 窗体中,当您使一个控件无效时,您请求它应该被重绘。
关于c# - invalidate 方法有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6425161/