2012-09-11 59 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