为什么会出现没有构造函数的类呢????
C#中的Graphics 类在使用中出现如下错误:
类型“System.Drawing.Graphics”未定义构造函数
我很奇怪,怎么会有没有构造函数的类呢?即使不定义,不是都有默认的构造函数吗?
哪位大侠给解释一下啊!
------解决方案--------------------Graphics 封装一个 GDI+ 绘图图面。无法继承此类。
Graphics _Graphics =Graphics.FromImage FormFromHwnd 很多 一般这两个比较长用.
------解决方案--------------------你要继承这个类?
这个类定义如下:
public sealed class Graphics : MarshalByRefObject, IDeviceContext, IDisposable
------解决方案--------------------Graphics的构造函数是
私有的,本意就是不让直接构造。
只能通过类似Graphics.FromImage()等静态函数来得到一个实例。
------解决方案--------------------绘图函数么,假如你能随便构造,请问,你是往那里绘制呢?
参见http://msdn.microsoft.com/zh-cn/library/system.drawing.graphics.aspx
Graphics 类
封装一个 GDI+ 绘图图面。无法继承此类。
Graphics 类提供将对象绘制到显示设备的方法。Graphics 与特定的设备上下文关联。
通过调用从 System.Windows.Forms.Control 继承的对象上的 Control.CreateGraphics 方法,或通过处理控件的 Control.Paint 事件并访问 System.Windows.Forms.PaintEventArgs 类的 Graphics 属性,可以获取 Graphics 对象。也可以使用 FromImage 方法从图像创建 Graphics 对象。有关创建 Graphics 对象的更多信息,请参见如何:创建用于绘制的 Graphics 对象。
可以使用 Graphics 对象绘制许多不同的形状和线条。有关如何绘制线条和形状的更多信息,请参见针对要绘制的线条或形状的特定 DrawGraphicalElement 方法。这些方法包括 DrawLine、DrawArc、DrawClosedCurve、DrawPolygon 和 DrawRectangle。有关如何绘制线条和形状的更多信息,请参见使用钢笔绘制线条和形状和使用画笔填充形状。
还可以分别使用 DrawImage 和 DrawIcon 方法来绘制图像和图标。有关如何使用 Graphics 对象绘制图像的更多信息,请参见使用图像、位图、图标和图元文件。
------解决方案--------------------Graphics 类
封装一个 GDI+ 绘图图面。无法继承此类。
Graphics g = button1.CreateGraphics();
//画一个椭圆
g.DrawEllipse(Pens.Red,5,5,button1.Width-10,button1.Height-10);
g.Dispose();
------解决方案--------------------构造函数是私有或是保护继承的.
------解决方案--------------------搂主说得没错,每个对象都有构造函数的,不然该对象是无法被操作系统实例化并管理的。
只不过Graphics对象的构造函数是私有的,或者是内部的,我们是无法主动实例化的,也是不让我们继承的。
它的方法Graphics.From....会自动调用内部构造函数实例化的
------解决方案--------------------GDI 关联 设备DC
在显存中最好为只读,如果你有能力修改显存那么显示就不会稳定。
在微软大多数方案中是采用资源句柄的方式。你有一个操作显示的handle。
net继承了这一想法,私有构造,对外提供一个handle,直接封在方法中了!