可以限制中文输入的文本框

王朝网络·other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

根据网友提的意见,大家都需要限制中文输入,今天,我试验了一下,找了一个办法限制中文输入,测试已经通过,大家也自己试一下吧,有什么意见继续提,如果愿意加我的QQ:36745349

这个是在昨天的基础上做的更改,测试已经满足大家的要求,如果谁有更好的办法也请交流一下

下面是代码:

'sunnyxing2004-04-01最后修改

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

Public Sub CheckText(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.TextChanged

Dim cha As Char

Try

cha = CType(Me.Text.Substring(Me.SelectionStart - 1, 1), Char)

If m_strValidText.IndexOf(cha) < 0 Then

Me.Text = Me.Text.Remove(Me.SelectionStart - 1, 1)

End If

Catch ex As Exception

End Try

End Sub

End Class

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有