c# 用控件的createGraphic()方法和控件的paint事件中的e.Graphic获得的Graphic对象有什么区别,
答案:2 悬赏:50 手机版
解决时间 2021-03-24 19:08
- 提问者网友:棒棒糖
- 2021-03-24 04:31
c# 用控件的createGraphic()方法和控件的paint事件中的e.Graphic获得的Graphic对象有什么区别,
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-03-24 04:40
控件没有自己的图形上下文,可以用控件的createGraphic()方法来创建,这样就可以在控件上绘图了。
而OnPint方法是窗体上的虚方法,调用该方法时,必须获得参数中指定的Graphic对象,因为图形对象代表的图形上下文属性随时会变。这样就可以在窗体的客户区域显示图形信息。
而OnPint方法是窗体上的虚方法,调用该方法时,必须获得参数中指定的Graphic对象,因为图形对象代表的图形上下文属性随时会变。这样就可以在窗体的客户区域显示图形信息。
全部回答
- 1楼网友:神也偏爱
- 2021-03-24 04:54
我来补充一下吧,虽然早就结贴了。
控件的paint事件自身就有了PaintEventArgs成员变量,Graphic对象是针对自身的,而且指定了paint事件来触发,.NET早就安排好的。
createGraphic()是一个方法变量,可以指定Graphic对象实例,客户可以自定义。
这就好比火车站定点售票一样,控件的paint事件就好比售票厅和代售点,createGraphic()就好比12306网上售票接口。
简单举例://自定义方法
void bushGraphics()
{
Rectangle rect = new Rectangle(10, 10, 80, 80);
Graphics g = this.容器名.CreateGraphics();
g.DrawRectangle(Pens.Red, rect);
}
// 控件自带paint方法
private void panel1_Paint(object sender, PaintEventArgs e)
{
Rectangle rect = new Rectangle(10, 10, 80, 80);
e.DrawRectangle(Pens.Red, rect);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯