当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > VB面向对象编程的一个简单的演示程序

ASP.NET
C# Quoted-Printable编码、解码
asp.net Google的translate工具翻译 API
.NET读取所有目录下文件正则匹配文本电子邮件
asp.net 半角全角转化工具
AjaxControlToolKit 显示浏览者本地语言的方法
asp.net HTML文件上传标签
ASP.NET 绑定DataSet中的多个表
ASP.NET 重定向的几种方法小结
Asp.Net 重定向必须要知道的一些资料
ASP.NET 导出到Excel时保留换行的代码
Asp.Net Cache缓存使用代码
document.getElementsByName和document.getElementById 在IE与FF中不同实现
GridView单元格合并
asp.net 大文件上传控件
asp.net 日期函数 某月的第一天和最后一天的日期
asp.net 时间类 一周的周一和周末的日期
C# javaScript函数的相互调用
asp.net membership 密码重设
"虚拟路径"..."映射到另一个应用程序,这是不允许的!
如何传值在2个页面之间 要求不刷新父页面,并且不能用Querystring传值

ASP.NET 中的 VB面向对象编程的一个简单的演示程序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 210 ::
收藏到网摘: n/a


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

  新建一个工程,在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窗体中的事件过程。作为类的成员,又能响应类中的同一事件的过程。  是不是很简单?  这就是类。