4
A
回答
12
UserControl本质上只是另一个类。它继承自Control,所以你可以用控件做各种事情,但除此之外,它只是一个类。因此,要将usercontrol动态添加到表单中,请执行以下操作:
- 创建控件的新实例。像
Dim X As New MyControl()
- 将控件添加到您的表单作为子对象到您想要的任何容器。像
Me.MyGreatTabPage.Controls.Add(X)
。您也可以直接将它添加到您的表单中,因为表单也是一个容器。 - 设置容器内的控件位置。这将设置
X.Location
和X.Size
。
请记住,您使用New MyControl()
创建的每个实例都将是一个单独的MyControl。不要错误地重复创建新控件并以某种方式将它们放在彼此之上。创建并放置一次控件。将它分配给一个成员变量给你的表单,当你需要使用它时,使用这个变量。
+0
+1提醒我不要在每次标签页更改时都创建控件。 – ProfK 2012-09-21 06:23:59
3
我认为你要找的是写成:this.Controls.Add(myControl)在C#中。我相信它在VB中也非常相似?
2
Form.Controls.Add(Page.LoadControl("SomeUserControl.ascx"))
然后是最困难的部分,在它捕获事件,因为它需要重新加载每个请求。我通常使用ViewState的标志来表示它已经加载,该标志存在的检查,看是否我前人的精力在OnInit的重新加载它
Dim newControl As UserControl = LoadControl("~/Controls/DRQ/Create/UCNewControl.ascx")
Me.panelHolder1.Controls.Add(newControl)
0
For i As Integer = 1 To 10
Dim tb As New TextBox
tb.Top = 26 * i
tb.Left = 12
tb.Text = "text box " & i.ToString()
tb.Parent = Me
Next
0
这是添加两种以上的方法:
Private _userControlList As New List(Of YourControl)
Private Sub AddingControlOnPanel()
Dim index As Integer = _userControlList.Count + 1
Dim userControl As New YourControl
userControl.Location = New System.Drawing.Point(SomeLocation)
userControl.Size = New System.Drawing.Size(SomeSize)
userControl.Name = "userControl" + index.ToString
userControl.Visible = False
_userControlList.Add(userControl)
UserControlsPanel.Controls.Add(userControl)
userControl.Visible = True
End Sub
相关问题
- 1. 动态添加UserControl到表格
- 2. 动态添加相同的UserControl多次
- 3. 动态添加usercontrol到占位符
- 4. 如何控制动态添加的usercontrol?
- 5. 在另一个UserControl的MainWindow中添加UserControl
- 6. ASP.NET在回发中动态添加UserControl和缓存数据
- 7. 将userControl添加到DockPanel并没有在Wpf中动态生效
- 8. 如何在动态添加的usercontrol中调用页面方法?
- 9. 动态添加一个TextView
- 10. 动态添加一个jPlayer
- 11. 动态添加成员来操作 - VB.NET
- 12. VB.NET:动态添加阵列到COMBOBOX
- 13. 用String.Format添加一个“ - ”VB.Net
- 14. 添加一个usercontrol到面板
- 15. VB.NET UserControl
- 16. 从UserControl的动态添加按钮中获取事件
- 17. 在动态添加的UserControl上设置属性
- 18. Gridview的rowcommand事件没有在动态添加usercontrol触发
- 19. 在Android中动态添加一个RelativeLayout到一个LinearLayout
- 20. 添加JObject到另一个JObject在VB.NET
- 21. 如何在vb.net中动态添加gridview列值?
- 22. 在VB.NET中添加Dapper动态输出参数
- 23. 在vb.net中动态添加标签而不指定位置
- 24. 在VB.NET中添加事件到动态创建的GridView控件
- 25. 在QTableWidget中动态添加一行
- 26. 当我动态添加一个自定义的UserControl到面板时,usercontrol失去了所有的事件处理
- 27. 无法在同一视图中添加两个UserControl
- 28. 如何在onClick中添加一个动态滚动视图
- 29. ViewState覆盖在PostBack上动态添加UserControl(在Placeholder中)的更改
- 30. 在动态添加的元素中动态添加字段Jquery
定义“动态”。 – xsl 2008-12-17 09:37:38
我想指定每次运行程序时将添加多少个用户界面。 – eflles 2008-12-17 09:53:38