C#,Winform 自定义控件,自定义事件,怎么处理?

ToolBuilder 2009-03-09 03:13:48

C#,Winform 自定义了一个控件Uc_ControlBase并自定义了事件ue_pressenter,现在需要达到这样的效果... ...



1、从控件Uc_ControlBase继承一个控件Uc_Control,并在事件ue_pressenter里写代码 MessageBox.show("Uc_Control");


2、然后将Uc_Control控件拖到窗体上:

A:怎样重载事件ue_pressenter里的代码并写上代码: MessageBox.show("OverloadsForm1");

B:怎样覆盖事件ue_pressenter里的代码并写上自己的代码: MessageBox.show("OverridesForm1");


请高手最好给个例子... ...
...全文
301 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ToolBuilder 2009-03-09
  • 打赏
  • 举报
回复

感觉还是有点晕,哪个地方可以下载个完美的例子啊?
tweeger 2009-03-09
  • 打赏
  • 举报
回复
哦,上面第一步
1、定义事件委托
private event EventHandler ue_pressenter;
或者使用泛型:
private event EventHandler <MyEventArgs>ue_pressenter;
中的权限修饰符可以根据需要来确定:
如:internal或public
tweeger 2009-03-09
  • 打赏
  • 举报
回复
嗯,关于自定义事件一般是这样做的:
1、定义事件委托
private event EventHandler ue_pressenter;
或者使用泛型:
private event EventHandler<MyEventArgs>ue_pressenter;
2、定义事件触发函数
protected void OnUe_pressenter(object sender, EventArgs args)
{
if(this.ue_pressenter != null)
{
this.ue_pressenter(this, EventArgs.Empty);
}
}
3、在合适的时机调用事件触发函数
比如在OnKeyPress函数中调用;
4、子类可以使用override关键字来重载OnUe_pressenter函数来实现
“A:怎样重载事件ue_pressenter里的代码并写上代码: MessageBox.show("OverloadsForm1"); ”
子类可以使用new关键字来覆盖OnUe_pressenter函数来实现
“B:怎样覆盖事件ue_pressenter里的代码并写上自己的代码: MessageBox.show("OverridesForm1");”

111,126

社区成员

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

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

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