Graphics g=控件名.CreateGraphics();//这样就可以用g来在这个控件上画东西了。
但是如果我想不限范围,在整个屏幕上画,那么.NET就无能为力了。还好,我们有WIN32,我们可以用GetDC或者CreateDC来获得整个屏幕的设备驱动器句柄。用完之后别忘了用ReleaseDC或DeleteDC释放。
以下是C#中GetDC()和ReleaseDC()的声明方法
Hdc = GetDC(IntPtr.Zero); //MSDN中说当传入指针为空时返回整个屏幕的设备驱动器句柄
嘿嘿,接下来我们就可以利用这个设备驱动器句柄来乱画东西了,不过在此之前我们先把这个C#不常见的东西转化为熟悉的Graphics。我们只要用
Graphics g = Graphics.FromHdc(Hdc);//这样就从设备驱动器句柄中获得了.NET只能的Graphics类。
得到了这些东西,剩下的就不用我多说了吧,这些来大家就可以在这个屏幕上爱怎么画就怎么画。不过画完之后记得调用ReleaseDC()来释放这个句柄(如果画完程序就结束那倒无所谓)。
ReleaseDC(IntPtr.Zero, Hdc); //这样这个屏幕的设备驱动器句柄就被释放了。