日期:2014-05-18  浏览次数:21013 次

为什么会出现没有构造函数的类呢????
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,直接封在方法中了!