基类 屏蔽 子类事件

笑虾 2009-12-12 10:07:23
我建了一个基类窗体,上面有一个 “保存按钮”(没有事件代码)
通过继承“基类窗体”生成了10子类窗体
并对第个窗体的 “保存按钮”(添加各自的单击事件)

我现在想在保存前弹出来提示框问是否保存,如果是就继续,如果否就不执行保存数据的代码。
因为了子窗体很多,所以我想在 基类中作个判断如果 否 就强行终止单击事件

可以实现吗?

或是有更好的方法?

谢谢
...全文
151 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
笑虾 2009-12-13
  • 打赏
  • 举报
回复
这样不还是要想去子类中一个一个重写嘛,
我现在的情况是都已经写好了,现在想加个判断功能。
不想再去子类里面一个一个写了,想在基类里一完成这个功能。

woshifou 2009-12-13
  • 打赏
  • 举报
回复
学习。
  • 打赏
  • 举报
回复
楼上的用新潮的写法了var v=MessageBox
回答正确,+10分!

ProjectDD 2009-12-13
  • 打赏
  • 举报
回复
楼主的意思是:

class BF:Form{
protected Button save;
public BF(){
this.save.Text="保存";
this.save.Click+=save_Click;
}
void save_Click(object sender,EventArgs e){
var v=MessageBox.Show("是否保存","",MessageBoxButtons.YesNo);
if(v == DialogResult.Yes){
this.OnSave();
}
}
protected virtual void OnSave(){}
}


}
class F1:BF{}
class F2:BF{}
class F3:BF{}
...
class F10:BF{}


看这样行不行,这样,只需要重写要保存类型的OnSave方法就可以了,不同子类重写不同
实现当然也就按各自需要了。

笑虾 2009-12-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
调用同一个方法
通过sender as Button获取来源
[/Quote]

能说详细一点么?不明白
这样能强行中继事件吗?
Jave.Lin 2009-12-12
  • 打赏
  • 举报
回复
学习。一下
wuyq11 2009-12-12
  • 打赏
  • 举报
回复
调用同一个方法
通过sender as Button获取来源

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧