1

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 に入力できないように制限したいと思います。「...ハンドルExampleTextBox.KeyPress」を使用して視覚的に作成された個々のTextBoxに対して、過去にこれを行いました(ここで説明されているようなもの: http://msdn.microsoft.com/en-us/library/ms171538.aspx )。

これを行う方法についてのヘルプを探しています: (1) 動的に作成された TextBox の場合、および (2) 多くの TextBox に適用される 1 つ (または少数) のコード ブロック。

4

1 に答える 1

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
于 2012-11-29T05:59:07.257 に答える