马上给分 这个base是什么意思? C#void OnPaint(PaintEventArgs e){//...代码base.OnPaint(e);}这个base是什么意思?这个语句有什么作用?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 00:18:29

马上给分 这个base是什么意思? C#
void OnPaint(PaintEventArgs e){
//...代码
base.OnPaint(e);
}
这个base是什么意思?
这个语句有什么作用?

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);
//...代码 - 用于实现自己特有的绘图操作
}