VB面向对象编程的一个简单的演示程序

奋斗99小青年

奋斗99小青年

2016-01-29 12:49

VB面向对象编程的一个简单的演示程序,VB面向对象编程的一个简单的演示程序

  这个例子,也可以看作是使用类模块的入门级的演示。

  新建一个工程,在form1中添加3个文本框。我们希望对这三个文本框中输入的字符进行限制,第一个只允许输入数字,第二个只允许输入字母,第三个只允许输入大写字母。

  一般的做法,可以在这三个文本框的keypress事件过程中分别写检查代码。好一点的方案,是把检查代码写成一个共用的过程,让这三个文本框的keypress事件去各自进行调用。

  现在,我们用面向对象的思想来解决这个问题。

  在工程中添加一个类模块,命名为cTxt。添加下面的代码到其代码窗口:

Public WithEvents textbox As textbox '添加一个textbox,这只是一个演示,所以简单地把它写成public成员,在实际的工程中,一般是私有的。
Public isDecimal As Boolean ' 简单地用public表示此类的一个属性。值为“是”,则只能输入数字,“否”,则只能输入字母
Private Sub textbox_keypress(KeyAscii As Integer)
Select Case KeyAscii
Case 0 To 31
Case 48 To 57 '按键为数字
If Not isDecimal Then KeyAscii = 0
Case 65 To 90, 97 To 122 '按键为字母
If isDecimal Then KeyAscii = 0
Case Else
KeyAscii = 0
End Select
End Sub

  类模块完成了。

  在form1代码窗口,添加下面的代码:

Option Explicit
Dim deciText As cTxt, letterText As cTxt, UCaseText As cTxt


Private Sub form_load()
Set deciText = New cTxt
Set deciText.textbox = Text1 ' deciText.textbox指向text1
deciText.isDecimal = True ' 设置deciText的isDecimal属性,使Text1只能输入数字。
Set letterText = New cTxt
Set letterText.textbox = Text2
letterText.isDecimal = False

Set letterText = New cTxt
Set letterText.textbox = Text3
letterText.isDecimal = False

End Sub
  按F5运行,在三个文本框中随便输入一些字符试试。哈哈,我们在form1窗口中,没有写任何的检查代码,就让这三个文本框工作得很好了。

  现在,我们需要让Text3有cTxt不具备的特性,即只允许输入大写字母。简单地添加下面几行代码到form1的代码窗体中:

Private Sub Text3_KeyPress(KeyAscii As Integer)
If KeyAscii > 96 And KeyAscii < 123 Then
KeyAscii = 0
End If
End Sub  F5运行看看。Text3能准确地控制按键了。在这里,我们注意到,Text3既能响应form1窗体中的事件过程。作为类的成员,又能响应类中的同一事件的过程。  是不是很简单?  这就是类。
展开更多 50%)
分享

猜你喜欢

VB面向对象编程的一个简单的演示程序

电脑网络
VB面向对象编程的一个简单的演示程序

Delphi面向对象的编程方法(一)

Delphi
Delphi面向对象的编程方法(一)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用VB编写一个简单的登录程序

编程语言 网络编程
用VB编写一个简单的登录程序

javascript 的面向对象编程

电脑网络
javascript 的面向对象编程

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

理解面向对象编程

编程语言 网络编程
理解面向对象编程

PHP的面向对象编程

Web开发
PHP的面向对象编程

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《苍穹之剑》三大快速赚钱方法攻略

《苍穹之剑》三大快速赚钱方法攻略

为什么Java中继承多数是有害的

为什么Java中继承多数是有害的
下拉加载更多内容 ↓