12 2012 档案
摘要:C#3.0后语言特性:自动属性(AutomaticProperties)如果你现在是C#开发人员的话,你大概非常习惯编写象下面这个代码片段一样带有基本属性的类型:publicclassPerson{privatestring_firstName;privatestring_lastName;privateint_age;publicstringFirstName{get{return_firstName;}set{_firstName=value;}}publicstringLastName{get{return_lastName;}set{_lastName=value;}}publicin
阅读全文
摘要:GDI+的双缓冲问题一直以来的误区:.net1.1 和 .net 2.0 在处理控件双缓冲上是有区别的。.net 1.1 中,使用:this.SetStyle(ControlStyles.DoubleBuffer, true);.net 2.0中,使用:this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);怪不说老是提示参数无效,一直也不知道是这个问题,呵呵要知道,图元无闪烁的实现和图元的绘制方法没有多少关系,只是绘制方法可以控制图元的刷新区域,使双缓冲性能更优!导致画面闪烁的关键原因分析: 一、绘制窗口由于大小位置状态改变进行重绘操
阅读全文
摘要:引用:出处Invalidate()是System.Windows.Forms.Form的一个成员,它把客户窗口区域标记为无效,因此在需要重新绘制时,它可以确保引发Paint事件。Invalidate()有两个重载方法:可以给它传送一个矩形,指定(使用页面坐标)需要重新绘制哪个窗口区域,如果不提供任何参数,它就把整个客户区域标记为无效。为什么要这么做如果知道需要绘制某些内容,为什么不调用OnPaint()或直接完成绘制任务的其他方法一般情况下,最好不要直接调用绘图例程,如果代码要完成某些绘图任务,此时一般应调用Invalidate()。其原因如下所示:●绘图总是GDI+应用程序可以执行的一种处理
阅读全文

浙公网安备 33010602011771号