Деактивирайте въвеждането на знаци в динамично създадени ComboBoxes и TextBoxes във VB.NET

В проста програма, върху която работя във VB.NET, създадох динамично няколко комбинирани полета и текстови полета.

Например като:

    Dim i As Integer
    For i = 0 To 11
        Dim NewTxt As New TextBox()
        Me.Controls.Add(NewTxt)
        NewTxt.Name = "txtNoteInput" & i
    Next

Бих искал да огранича потребителя да въвежда определени символи от клавиатурата в тези текстови полета. Правил съм това в миналото за отделни текстови полета, създадени визуално с помощта на "... Handles ExampleTextBox.KeyPress" (Нещо подобно на описаното тук: http://msdn.microsoft.com/en-us/library/ms171538.aspx ).

Търся помощ как да направя това: (1) за динамично създадени текстови полета и (2) с един (или няколко) блока код, които се прилагат за много текстови полета.


person Thom Quinn    schedule 28.11.2012    source източник


Отговори (1)


Използвайки това като препратка, нещо заедно редовете на:

Dim i As Integer
For i = 0 To 11
    Dim NewTxt As New TextBox()
    Me.Controls.Add(NewTxt)
    NewTxt.Name = "txtNoteInput" & i
    ' Add this line below:
    AddHandler NewTxt.TextChanged, AddressOf Text_Changed
Next

с:

Private Sub Text_Changed(ByVal eventSender As System.Object, _
                         ByVal eventArgs As System.EventArgs)
    Dim txt As String = eventSender.Text
    ' Do your regular filtering here as you would normally
End Sub
person Joseph    schedule 29.11.2012