可以限制中文輸入的文字框 sunnyxing [原作]

來源:互聯網
上載者:User
  可以限制中文輸入的文字框     sunnyxing [原作]
關鍵字   VB.NET 屏蔽中文輸入 文字框
出處  

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