总结和开始记录实验的现象,调试代码的经验,同时开始用博客记录一些技术上的进步
2017-09-01
09:01:02
1、
picturebox 上 进行覆盖,移动,大小改变,都会触发控件重绘事件,重绘其本身和其所有的子控件,
所以以绘图区域为父容器的pictureBox在程序运行时进行的任意操作只要是其visible = true 就会触发picturebox重绘;
2、
所有的技术更新完善应该在实验基本成功之后去做的,应该住很短的时间里打通设计的思路,确立该方案可行,而后加以技术完善,
在设计之初不应该被诸多细节绊住手脚,细节之处可以先放到一边,先把主干作重要的功能实现出来。
3、
C# WinForm窗体 控件Control 的 Invalidate、Update、Refresh的区别
Refresh: 强制控件使其工作区无效并立即重绘自己和任何子控件。== Invalidate Update
Invalidate: 使控件的特定区域(可以自己设置区域,从而提高性能)无效并向控件发送绘制消息。
将控件标记为需要重绘,但是不会立即执行刷新重绘,等到系统空闲时进行重绘。
Update: 使控件重绘其工作区内的无效区域,立即调用Paint事件。若有无效区域,Update将立即触发重绘。
Paint: 无处不在。如果你调用3次Invalidate,但是系统将只触发一次Paint事件。
大多数时候Invalidate已经足够了,当系统要集中进行大量的刷新重绘时,建议使用Invalidate,因为这样系统最终只进行一次刷新,提高了系统性能。如果你想立即执行刷新的时候,建议使用Refresh方法。