0

私が取り組んでいる小さなアプリケーション用のコードをいくつか作成しました。基本的に、特定の行をクリックすると詳細の一部が下のテキスト ボックスにインポートされるリスト ビュー ボックスがあります。それは正常に機能しており、データは必要に応じて入力されますが、たとえば別の行でもう一度クリックすると、最初のクリックからの情報がボックスに残り、新しい値で上書きされません。

Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick
    For i As Integer = 1 To 2
        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 textbox1 As TextBox = DirectCast(matches(0), TextBox)
            If TextBox1.Text.Trim.Length = 0 Then
                TextBox1.Text = ListView1.SelectedItems(0).SubItems(2).Text
                Exit Sub
            End If
        End If
    Next
End Sub
4

1 に答える 1

1

次のようにコードを変更します。

Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.DoubleClick
For i As Integer = 1 To 2
    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 textbox1 As TextBox = DirectCast(matches(0), TextBox)
        If TextBox1.Text.Trim.Length = 0 Then
            TextBox1.Text = ListView1.SelectedItems(0).SubItems(2).Text
            Exit Sub
        Else
            Textbox1.Text = ""
            TextBox1.Text = ListView1.SelectedItems(0).SubItems(2).Text
            Exit Sub
        End If
    End If
Next
End Sub
于 2013-10-20T17:09:14.463 に答える