[学习日记]对控件的继承和重载

简介: 今天在学习有关CLASS的继承后,有后领悟就写了一个CLASS来继承textbox,嘿嘿,成功了!当然还对其进行了重载,对输入的字符类型进行了限制,使其只能输入数字。继承类如下: Public Class NumericTextBoxClass NumericTextBox Inherits System.
今天在学习有关CLASS的继承后,有后领悟
就写了一个CLASS来继承textbox,嘿嘿,成功了!
当然还对其进行了重载,对输入的字符类型进行了限制,使其只能输入数字。
继承类如下:
img_405b18b4b6584ae338e0f6ecaf736533.gif img_1c53668bcee393edac0d7b3b3daff1ae.gif Public   Class NumericTextBox Class NumericTextBox 
img_33d02437d135341f0800e3d415312ae8.gif
Inherits System.Windows.Forms.TextBox
img_2887d91d0594ef8793c1db92b8a1d545.gifimg_7a2b9a960ee9a98bfd25d306d55009f8.gif
Protected Overrides Sub OnKeyPress()Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs) 
img_33d02437d135341f0800e3d415312ae8.gife.Handled 
= Not Char.IsDigit(e.KeyChar) 
img_105a1e124122b2abcee4ea8e9f5108f3.gif
End Sub
 
img_05dd8d549cff04457a6366b0a7c9352a.gif
End Class
 

在窗外中调用此类代码如下:

img_a6339ee3e57d1d52bc7d02b338e15a60.gif #Region  "  Windows 窗体设计器生成的代码 "
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
' img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gifimg_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
  Friend   WithEvents  TextBox1  As  NumericTextBox
img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_405b18b4b6584ae338e0f6ecaf736533.gifimg_1c53668bcee393edac0d7b3b3daff1ae.gif
< System.Diagnostics.DebuggerStepThrough() >   Private   Sub InitializeComponent() Sub InitializeComponent()
img_33d02437d135341f0800e3d415312ae8.gif        Me.TextBox1 
= New NumericTextBox
img_33d02437d135341f0800e3d415312ae8.gif Me.SuspendLayout()
img_33d02437d135341f0800e3d415312ae8.gif        
'
img_33d02437d135341f0800e3d415312ae8.gif
        'TextBox1
img_33d02437d135341f0800e3d415312ae8.gif
        '
img_33d02437d135341f0800e3d415312ae8.gif
        Me.TextBox1.Location = New System.Drawing.Point(2424)
img_33d02437d135341f0800e3d415312ae8.gif        Me.TextBox1.Name 
= "TextBox1"
img_33d02437d135341f0800e3d415312ae8.gif
        Me.TextBox1.Size = New System.Drawing.Size(15221)
img_33d02437d135341f0800e3d415312ae8.gif        Me.TextBox1.TabIndex 
= 0
img_33d02437d135341f0800e3d415312ae8.gif        Me.TextBox1.Text 
= "123"
img_33d02437d135341f0800e3d415312ae8.gif
        '
img_33d02437d135341f0800e3d415312ae8.gif'
img_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gifimg_a76e9bb6ed00cf1c9c9f4ee2f04b558b.gif.
img_05dd8d549cff04457a6366b0a7c9352a.gif
   End Sub

img_a6339ee3e57d1d52bc7d02b338e15a60.gif
img_a6339ee3e57d1d52bc7d02b338e15a60.gif#
End  Region

其效果如图:
form1.JPG

嘿嘿!主要功能当然是都完成了,也成功了,可是遇到一个问题,因为限制只能输入数字,结果按小数点、减号和后退BCAK SPACE键都不起作用,就不能输入小数、负数和修改数值了,麻烦。
请高手帮忙修改一下,让其能输入现实意义的数字,并能修改。
相关文章
|
17天前
|
C++
C++(二十)继承
本文介绍了C++中的继承特性,包括公有、保护和私有继承,并解释了虚继承的作用。通过示例展示了派生类如何从基类继承属性和方法,并保持自身的独特性。此外,还详细说明了派生类构造函数的语法格式及构造顺序,提供了具体的代码示例帮助理解。
|
4月前
|
C++
【C++小小知识点】重载、覆盖(重写)、隐藏(重定义)的对比【详解】(23)
【C++小小知识点】重载、覆盖(重写)、隐藏(重定义)的对比【详解】(23)
|
4月前
|
编译器 C语言 C++
【C++初阶】第三站:类和对象(中) -- 类的6个默认成员函数-1
【C++初阶】第三站:类和对象(中) -- 类的6个默认成员函数-1
|
4月前
|
存储 编译器 C语言
【C++初阶】第三站:类和对象(中) -- 类的6个默认成员函数-2
【C++初阶】第三站:类和对象(中) -- 类的6个默认成员函数-2
|
存储 安全 编译器
【C++精华铺】5.C++类和对象(中)类的六个默认成员函数
我们想到空类的时候肯定想到的是里面什么都没有的类称之为空类,但是事实却并非如此。当一个类里面什么都不写的时候编译器会默认生成六个默认成员函数来完成一个类的基本功能。构造函数:对象初始化工作。析构函数:空间清理工作。拷贝构造和赋值运算符重载:对象的拷贝复制工作。取地址和const取地址重载:一般很少自己实现,除非需要给用户返回指定的特殊的地址。
|
前端开发
前端学习笔记202304学习笔记第六天-动态绑定class类名
前端学习笔记202304学习笔记第六天-动态绑定class类名
57 0
|
前端开发
前端学习案例6-构造函数继承 原创
前端学习案例6-构造函数继承 原创
65 0
前端学习案例6-构造函数继承 原创
|
前端开发
前端学习案例5-构造函数继承1
前端学习案例5-构造函数继承1
61 0
前端学习案例5-构造函数继承1
|
Java
Java面向对象(10)--super关键字
Java面向对象(10)--super关键字
105 1
|
Java
java学习第十三天笔记-面向对象243-子类能继承父类的那些内容2成员变量被继承下来
java学习第十三天笔记-面向对象243-子类能继承父类的那些内容2成员变量被继承下来
71 0
java学习第十三天笔记-面向对象243-子类能继承父类的那些内容2成员变量被继承下来