VB制作的可以限制输入的文本框

发表于:2007-06-30来源:作者:点击数: 标签:
通过继承TextBox,添加了一个ValidText属性,用来获取和设置有效的文本输入 还有一个EditAble属性,决定文本框是否支持退格编辑。 我是刚学习 VB .Net,希望和大家交流,我得QQ:36745349 Public Class MyTextBox Inherits System.Windows.Forms.TextBox Priv
通过继承TextBox,添加了一个ValidText属性,用来获取和设置有效的文本输入

还有一个EditAble属性,决定文本框是否支持退格编辑。

我是刚学习VB.Net,希望和大家交流,我得QQ:36745349

Public Class MyTextBox
Inherits System.Windows.Forms.TextBox
Private m_strValidText As String = "0123456789.+-" & Chr(13).ToString
Private m_blnEditable As Boolean = True

#Region " Windows 窗体设计器生成的代码 "

Public Sub New()
MyBase.New()
@#该调用是 Windows 窗体设计器所必需的。
InitializeComponent()

@#在 InitializeComponent() 调用之后添加任何初始化

End Sub

@#UserControl1 重写 dispose 以清理组件列表。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

@#Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer

@#注意: 以下过程是 Windows 窗体设计器所必需的
@#可以使用 Windows 窗体设计器修改此过程。
@#不要使用代码编辑器修改它。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
components = New System.ComponentModel.Container
End Sub

#End Region

Private Sub MyTextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
Dim strLocalString As String
If EditAble Then
strLocalString = m_strValidText & Chr(8).ToString
Else
strLocalString = m_strValidText
End If
If UCase(strLocalString).IndexOf(UCase(e.KeyChar)) < 0 Then
e.Handled = True
Beep()
Else

End If
End Sub
Public Property ValidText() As String
Get
Return m_strValidText
End Get
Set(ByVal Value As String)
m_strValidText = Value
End Set
End Property
Public Property EditAble() As Boolean
Get
Return m_blnEditable
End Get
Set(ByVal Value As Boolean)
m_blnEditable = Value
End Set
End Property
End Class

原文转自:http://www.ltesting.net