Windows绘图和GDI+疑难
1. Graphics与区域大小有关。如果窗体大小400*300时创建的Graphics对象g,当窗体拖放到600*400时,g对多出来的区域绘制无效。那么Pen、Brush、Font等是不是也与特点大小的窗体有关?
2. g.DrawCurves()、g.DrawLines()、g.DrawLine()中的问题。多点连线那个函数效率高?DrawCurves两点间有多余的弧度;DrawLines性能不稳定,有一个Bug,即连线不准;DrawLine性能最差,但是安全可靠。DrawLines为什么会有Bug?
3. 经常绘制大量图形的窗体A,切换到窗体B时,本应该在A绘制的图形怎么会部分绘制到B上,是Windows系统刷新问题,还是Graphics对象本身的问题?
4. 如何创建一个半透明窗体子控件?做一个半透明窗体,移动此窗体时,要求被其覆盖的其他窗体不引发重绘。提示1>单独做一个半透明窗体C#很好做,可是当其被其他窗体创建使用时,半透明不透明了,似乎父窗体不透明,那么子窗体也不能透明;提示2>ToolTip控件移动时,似乎不触发其他窗体重绘,但是微软不保证,偶尔又会触发。
5. 此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。如果跨线程使用偶尔会出错。主线程启用定时器使用同一Graphics 没问题。
6.