为了账号安全,请及时绑定邮箱和手机立即绑定

请问这个base是什么意思? 这个语句有什么作用?

请问这个base是什么意思? 这个语句有什么作用?

C#
慕侠2389804 2022-05-27 11:07:53
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);
//...代码 - 用于实现自己特有的绘图操作
}

查看完整回答
反对 回复 2022-05-30
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

base 是当前的基类也叫 父类。
base.OnPaint(e) 是直接调用 基类的该事件。

查看完整回答
反对 回复 2022-05-30
  • 2 回答
  • 0 关注
  • 153 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信