为什么会出现没有构造函数的类呢????

流浪孩儿 2008-12-27 10:18:27
C#中的Graphics 类在使用中出现如下错误:
类型“System.Drawing.Graphics”未定义构造函数

我很奇怪,怎么会有没有构造函数的类呢?即使不定义,不是都有默认的构造函数吗?

哪位大侠给解释一下啊!
...全文
846 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
流浪孩儿 2008-12-29
  • 打赏
  • 举报
回复
听了大家的讲解,理解了,非常感谢!
gomoku 2008-12-27
  • 打赏
  • 举报
回复
Graphics的构造函数是私有的,本意就是不让直接构造。
只能通过类似Graphics.FromImage()等静态函数来得到一个实例。
cuike519 2008-12-27
  • 打赏
  • 举报
回复
你要继承这个类?

这个类定义如下:
public sealed class Graphics : MarshalByRefObject, IDeviceContext, IDisposable


zgke 2008-12-27
  • 打赏
  • 举报
回复
Graphics 封装一个 GDI+ 绘图图面。无法继承此类。

Graphics _Graphics =Graphics.FromImage FormFromHwnd 很多 一般这两个比较长用.
china_west 2008-12-27
  • 打赏
  • 举报
回复
受教了,谢谢
APOLLO_TS 2008-12-27
  • 打赏
  • 举报
回复
GDI 关联 设备DC

在显存中最好为只读,如果你有能力修改显存那么显示就不会稳定。

在微软大多数方案中是采用资源句柄的方式。你有一个操作显示的handle。

net继承了这一想法,私有构造,对外提供一个handle,直接封在方法中了!

net5i 2008-12-27
  • 打赏
  • 举报
回复
搂主说得没错,每个对象都有构造函数的,不然该对象是无法被操作系统实例化并管理的。
只不过Graphics对象的构造函数是私有的,或者是内部的,我们是无法主动实例化的,也是不让我们继承的。

它的方法Graphics.From....会自动调用内部构造函数实例化的
ChrisAK 2008-12-27
  • 打赏
  • 举报
回复
构造函数是私有或是保护继承的.
wuyq11 2008-12-27
  • 打赏
  • 举报
回复
Graphics 类
封装一个 GDI+ 绘图图面。无法继承此类。
Graphics g = button1.CreateGraphics();
//画一个椭圆
g.DrawEllipse(Pens.Red,5,5,button1.Width-10,button1.Height-10);
g.Dispose();
龙宜坡 2008-12-27
  • 打赏
  • 举报
回复
绘图函数么,假如你能随便构造,请问,你是往那里绘制呢?

参见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 对象绘制图像的更多信息,请参见使用图像、位图、图标和图元文件。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧