我正在嘗試學習VB.net並遇到了問題。我正在嘗試將標籤動態添加到面板/文本框/組框。我注意到,雖然創建一個動態標籤,我將不得不指定位置屬性。我對此有點感到驚訝 - 爲什麼我必須管理新標籤的創建位置?爲什麼不有一個會自動處理這個問題的佈局管理器?無論如何,我找不到這樣做的方法,但我發現了一個倡導使用文本框動態添加標籤的例子。但是,我只看到一個標籤正在顯示,無論在文本框中。 (當我調試,我注意到,更多的標籤添加到控制對象,但顯示沒有相應的反映)在vb.net中動態添加標籤而不指定位置
這裏是什麼樣子
下面是我使用
代碼Private Sub AddTagCombo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles addTagCombo.SelectedIndexChanged
Dim selectedTag = addTagCombo.Text
If Not IsDuplicateTag(selectedTag) Then
Dim label As Label = New Label
label.Text = selectedTag
label.Name = selectedTag
label.AutoSize = True
label.Top = 10
label.Left = 10
tagsBox.Controls.Add(label)
End If
End Sub
如何添加動態標籤而不用擔心它們放置在另一個容器內的位置?
您不再使用鼠標從工具箱中刪除表格上的標籤。因此,您不再讓設計人員爲您設置「位置」屬性,而必須自己完成。現在你把所有的東西放在一起,所以你只能看到你添加的最後一個。 FlowLayoutPanel通常會自動安排它們。或者可以顯示多個字符串的其他控件,如ComboBox,DomainUpDown,ListBox,ListView,TreeView,DataGridView。嘗試一切。 –
我對flowlayoutpanel有點困惑。你看到我的代碼有什麼問題嗎?爲什麼它不會顯示多個控件? – Jay
我很難理解你不明白的東西。當你將標籤堆疊在一起時,你預計會發生什麼?你如何閱讀書本底部書本正面的標題? –