可以限制中文輸入的文字框

來源:互聯網
上載者:User
文字框|中文 根據網友提的意見,大家都需要限制中文輸入,今天,我實驗了一下,找了一個辦法限制中文輸入,測試已經通過,大家也自己試一下吧,有什麼意見繼續提,如果願意加我的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




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.