在 FlowPanel 中克隆面板
Cloning a panel inside a FlowPanel
我试图在 FlowPanel 中多次克隆一个面板...但它只克隆一次。
Dim NewFormConta1 As New Panel
NewFormConta1 = Panel1
PanelLateral.Controls.Add(NewFormConta1)
Dim NewFormConta2 As New Panel
NewFormConta2 = Panel1
PanelLateral.Controls.Add(NewFormConta2)
Dim NewFormConta3 As New Panel
NewFormConta3 = Panel1
PanelLateral.Controls.Add(NewFormConta3)
结果:
我需要的:
因为这些作业是参考作业
NewFormConta1 = Panel1
NewFormConta2 = Panel1
NewFormConta3 = Panel1
因此您的“新”面板都引用同一个面板。您只有一个面板,但有 4 个引用。
' NewFormConta1 is a new panel
Dim NewFormConta1 As New Panel
' NewFormConta1 points to Panel1 so the new panel from the first line
' is not referenced anymore and will be garbage collected
NewFormConta1 = Panel1
' Panel1 is really added
PanelLateral.Controls.Add(NewFormConta1)
如何填充 Panel1?您可以用相同的方式填充每个 NewFormConta。
或者另一个想法是制作一个用户控件,其中包含面板和标签。您可以使用用户控件中的 Public 属性修改标签属性。然后就这样做
Dim NewFormConta1 As New UserControl1
PanelLateral.Controls.Add(NewFormConta1)
我试图在 FlowPanel 中多次克隆一个面板...但它只克隆一次。
Dim NewFormConta1 As New Panel
NewFormConta1 = Panel1
PanelLateral.Controls.Add(NewFormConta1)
Dim NewFormConta2 As New Panel
NewFormConta2 = Panel1
PanelLateral.Controls.Add(NewFormConta2)
Dim NewFormConta3 As New Panel
NewFormConta3 = Panel1
PanelLateral.Controls.Add(NewFormConta3)
结果:
我需要的:
因为这些作业是参考作业
NewFormConta1 = Panel1
NewFormConta2 = Panel1
NewFormConta3 = Panel1
因此您的“新”面板都引用同一个面板。您只有一个面板,但有 4 个引用。
' NewFormConta1 is a new panel
Dim NewFormConta1 As New Panel
' NewFormConta1 points to Panel1 so the new panel from the first line
' is not referenced anymore and will be garbage collected
NewFormConta1 = Panel1
' Panel1 is really added
PanelLateral.Controls.Add(NewFormConta1)
如何填充 Panel1?您可以用相同的方式填充每个 NewFormConta。
或者另一个想法是制作一个用户控件,其中包含面板和标签。您可以使用用户控件中的 Public 属性修改标签属性。然后就这样做
Dim NewFormConta1 As New UserControl1
PanelLateral.Controls.Add(NewFormConta1)