1

フォームに 20 個のラベルを定義しましたが、フォームが読み込まれると、これらのラベルのテキストが空白になります。ラベルの名前は「LabelValue1...LabelValue20」です

フォームには、ユーザーが数値を入力するテキスト ボックスがあります。送信を押したら、最初に使用可能なラベルにこの数値を入力する必要があります。ユーザーは一度に最大 20 個の異なる値を入力することができ、2 回目、4 回目に入力した値を次のラベルに入力する必要があります。

これをコード化するより簡単な方法はありますか?

4

1 に答える 1

3

リストボックスの方が適切ですが、必要に応じて、フォームのControlsコレクションを使用して名前でラベルにアクセスできます。

Dim _currentLabel As Integer = 1

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    If _currentLabel <= 20 Then
        Dim lbl As Label = CType(Controls("LabelValue" & _currentLabel.ToString()), Label)
        lbl.Text = TextBox1.Text
        _currentLabel += 1
    End If
End Sub

代わりに、コントロールを使用するListBoxには、次のようなことを行う必要があります。

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    If ListBox1.Items.Count < 20 Then
        ListBox1.Items.Add(TextBox1.Text)
    End If
End Sub

そして、特定のアイテムを読むには、次のようにします。

Dim secondItem As String = CStr(ListBox1.Items(1))
于 2012-09-11T13:49:16.173 に答える