GDI+ 绘图与用户交互全解析
1. 功能概述与 Invalidate()
方法
在处理文件读取和显示时,大部分功能是标准的文件读取操作。读取文件时,会将每行内容逐步添加到 documentLines
数组列表中,最终该数组按顺序包含了文档每行的信息。读取完成后,会设置 documentHasData
标志,用于指示是否有内容需要显示。接下来的任务是确定内容的显示位置,以及计算显示文件所需的客户区大小,即文档大小,该大小将用于设置滚动条。最后,设置标题栏文本并调用 Invalidate()
方法。
1.1 Invalidate()
方法详解
Invalidate()
是 System.Windows.Forms.Form
的一个成员方法,它将客户窗口的某个区域标记为无效,从而需要重新绘制,并确保触发 Paint
事件。 Invalidate()
有几个重载版本:可以传入一个矩形参数,精确指定窗口中需要重新绘制的区域(使用页面坐标);如果不传入任何参数,则会将整个客户区标记为无效。
为什么不直接调用 OnPaint()
或其他方法进行绘制,而要使用 Invalidate()
呢?原因如下:
- 避免阻塞其他工作 :绘制通常是 GDI+ 应用程序中最耗费处理器资源的任务。如果在