2012-09-11 61 views
1

好吧,我的表单上定义了20个标签,并且这些标签的文本在表单加载时被屏蔽。标签被命名为“LabelValue1 ... LabelValue20”检查空标签并根据文本框值填充

在窗体上,是用户输入数字值的文本框。点击提交后,我需要用此数值填充第一个可用标签。用户一次可以输入多达20个不同的值,我需要用第二次输入的值来填充下一个标签,因此第四个。

有没有一种更简单的方法来编码,然后使用一个巨大的long if else endif语句?

+0

你可以使用列表框而不是20个标签吗? – Beth

+0

我可以......只要我可以获取每个列表框项目的值。列表框是我正在考虑的第二个选项。 – Muhnamana

+0

是的,您可以获取每个列表框项目的值。检查帮助文件的列表框或谷歌。 – Beth

回答

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)) 
+1

我现在可以看到为什么列表框会比标签的小船装载更合适......感谢您的建议。 – Muhnamana