我做了一个自定义UserControl我Vb.net(Windows应用程序)。
我怎样才能dynamic地添加到表单?
在Windows Mobile应用程序中存储应用程序设置的首选方法是什么?
使用PHP和DOTNET类访问Windowsregistry
定义执行程序的工作目录(C#)
Windows中的IP发现
WIA 2.0双面扫描
一个UserControl本质上只是另一个类。 它继承自Control,所以你可以做各种你用控件做的事情,但是否则它只是一个类。 因此,要将usercontrol动态添加到表单中,请执行以下操作:
创建一个新的控件实例。 像Dim X As New MyControl()
将控件添加到您的窗体作为一个子对象到任何你想要的容器。 像Me.MyGreatTabPage.Controls.Add(X) 。 您也可以直接将其添加到您的表单,因为表单也是一个容器。
设置容器内的控件位置。 这将设置X.Location和X.Size 。
请记住,使用New MyControl()创建的每个实例都将是一个单独的MyControl。 不要犯这样的错误,反复制造新的控制,并以某种方式把它们放在彼此之上。 创建并放置一次控件。 将它分配给一个成员变量到你的表单中,当你需要使用它时,使用这个变量。
我认为你在找什么写成:this.Controls.Add(myControl)在C#中。 我敢肯定它在VB中也非常相似?
Form.Controls.Add(Page.LoadControl("SomeUserControl.ascx"))
然后是陷入事件的困难部分,因为它需要重新加载每个请求。 我通常使用ViewState标志来表示它已经加载,并检查该标志的存在,看看我是否应该再次在OnInit中重新加载
Dim newControl As UserControl = LoadControl("~/Controls/DRQ/Create/UCNewControl.ascx") Me.panelHolder1.Controls.Add(newControl)
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
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。