void OnPaint(PaintEventArgs e){//...代码base.OnPaint(e);}
2 回答
侃侃无极
TA贡献2051条经验 获得超10个赞
base的意思是引用基类。
这个语句的意思是,执行完你写的代码之后执行基类的OnPaint方法。
在基类的OnPaint方法中包含对示例的事件处理程序的调用。
classA 基类
subClassA 当前类
比如Form1的窗口中有一个subClassA的控件。你在Form1的窗口中在subClassA的Paint事件中写了代码,那么整个事件的执行顺序是这样的。
subClassA中的OnPaint() -> classA中的OnPaint() -> Form1中的subClassA1_Paint()
上面的代码有一个问题,就是在subClassA中做的处理有可能被classA中的处理覆盖掉。
一般的写法都是先调用基类的处理,然后再将自己类的处理叠加在其上面。
说以,你上面的程序最好写成
void OnPaint(PaintEventArgs e){
//...代码 - 用于修改e中的信息
base.OnPaint(e);
//...代码 - 用于实现自己特有的绘图操作
}
- 2 回答
- 0 关注
- 153 浏览
添加回答
举报
0/150
提交
取消