C#控件的事件重写的理解与自我观点

本文探讨了从VFP转向C#开发时,如何理解和处理C#控件事件重写的问题。通过一个UctextBox类控件的例子,解释了在C#中重写TextBox控件的TextChanged事件时,为何实例方法会先于类方法执行,这与事件委托器的工作原理有关。在C#中,无法像VFP那样灵活地在实例中选择是否继承类的事件。
摘要由CSDN通过智能技术生成

由于我是从VFP开发转往C#开发的,所以常常想在C#理去实现VFP中的一些写法,例如这次..

 

在VFP中,我们的为了适应开发的多变性,所以我们开发了很多继承于VFP控件的类控件,把很多常用的处理代码,写在了类控件中,那么只要把类控件加到Form中,就已经拥有样关功能了....如果某个事件不想继承类的,只要隐藏一下,就可以实现了,例如,我有一个类控件UTextBox是继承TextBox开发的,并且我改写了他的Vaild 和 keypress事件,让它在vaild时弹出messagebox("a"),keypress时弹出messagebox("b"). 那我只要在Form中加入类控件UTextBox实例,在不加任何代码时,就已经拥有相关功能,如果我想在Keypress时,弹出"b"后,再弹出"c",只要加一句UtextBox::Vaild()  &&继承类,再加上messagebox("c"),就能实现,如果不想要弹出b,只接弹c,只要不继承类的Vaild,(也就是不加UtextBox::Vaild()  )就可以了.

 

 

在C#中,也有类似的功能,但并不能完全实现.

C#中要继承基类控件,重写事件,如需如下:

这样就可以重写TextBox形成新控件UctextBox

build项目后,在工具箱中就会

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值