0

それぞれにボタンが付いた2つの異なるフォームから入力されたテキストボックスの列を持つフォームがあるアプリケーションを作成しています。これらのフォームのボタンをクリックすると、列のテキスト ボックスに結果が入力されます。

私が抱えている問題は、(form2.button 1) を 3 回クリックすると、テキスト ボックス 1、2、および 3 が占有されることです。(form1.button 1) を使用してテキスト ボックス 4 にデータを入力するとします。テキストボックス 1 を占有します。

各ボタンを複数回クリックできるように設定しているので、たとえば (form2.button 1) をクリックすると (form1.button1) が 2 回目のクリックになると言う方法を理解したいと思います。10 個のテキスト ボックスがあるので、それぞれがクリックされた回数に反応するようにする必要があります。

4

2 に答える 2

0

TextBoxes が TextBox1 から TextBox10 までと呼ばれていたと仮定すると、次のようなサブを使用できます。

Public Sub AddValue(ByVal value As String)
    For i As Integer = 1 To 10
        Dim tbName As String = "TextBox" & i
        Dim matches() As Control = Me.Controls.Find(tbName, True)
        If matches.Length > 0 AndAlso TypeOf matches(0) Is TextBox Then
            Dim tb As TextBox = DirectCast(matches(0), TextBox)
            If tb.Text.Trim.Length = 0 Then
                tb.Text = value
                Exit Sub
            End If
        End If
    Next
    MessageBox.Show("All TextBoxes are already taken!")
End Sub
于 2013-05-17T22:05:35.940 に答える