在VB.NET中禁用动态创建的ComboBoxes和TextBoxes中的字符输入

时间:2012-11-28 04:54:18

标签: dynamic combobox textbox keypress

在一个我在VB.NET中工作的简单程序中,我已经动态创建了几个ComboBox和TextBox。

例如,像:

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

我想限制用户将某些键盘字符输入到这些TextBox中。我在过去通过使用“... Handles ExampleTextBox.KeyPress”(这里描述的东西:http://msdn.microsoft.com/en-us/library/ms171538.aspx)可视化创建的单个TextBox来完成此操作。

我正在寻求有关如何执行此操作的帮助:(1)用于动态创建的TextBoxes,以及(2)具有适用于许多TextBox的一个(或几个)代码块。

1 个答案:

答案 0 :(得分:1)

使用this作为参考,类似于:

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