C#中关于绘图的一些基础问题
1.请问Graphicsg=this.CreateGraphics();和varg=e.Graphics;有什么区别呢?2.在这些声明中g和e究竟是什么意思,好像变量名都...
1.请问Graphics g = this.CreateGraphics(); 和 var g = e.Graphics; 有什么区别呢?
2.在这些声明中g和e究竟是什么意思,好像变量名都用他们?
菜鸟一个希望各位大神用朴实的语言教教我,谢谢啦! 展开
2.在这些声明中g和e究竟是什么意思,好像变量名都用他们?
菜鸟一个希望各位大神用朴实的语言教教我,谢谢啦! 展开
1个回答
展开全部
1、前者是实例化一个新的 Graphics 类,后者是把 e.Graphics 赋值给现有变量。Graphics 这个类,比较特殊,因为它是GDI+的基本类,类似传统的Canvas概念,就是说: 对于一个用于绘图的Graphics 而言,它必须有载体,也就是在哪里绘制。所以, Graphics 不能用 new Graphics 的方式来实例化,而必须使用具有可绘特性的 Control 来作为依托,也就是 this.CreateGraphics 或者 Panel.CreateGraphics 或者 Form.CreateGraphics 类似的。
2、g 只是个变量名而已,是 Graphics 的首字母;e 也是个变量名,是事件 Events 的首字母。就像我们 for 循环里常用 i 一样,约定俗成而已,你写成别的也无所谓。出现 e.Graphics 一般是在 OnPaint 或 Paint 事件里,这个事件有一个参数 e,类型为 PaintEventArgs。可以用 e.Graphics 获取触发这个事件的控件的可绘制区域。
2、g 只是个变量名而已,是 Graphics 的首字母;e 也是个变量名,是事件 Events 的首字母。就像我们 for 循环里常用 i 一样,约定俗成而已,你写成别的也无所谓。出现 e.Graphics 一般是在 OnPaint 或 Paint 事件里,这个事件有一个参数 e,类型为 PaintEventArgs。可以用 e.Graphics 获取触发这个事件的控件的可绘制区域。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询