但是我在这里试图比较详细的介绍自动生成控件的步骤
'******************************************************************************** '作者:章鱼哥 QQ:3107073263 群:309816713 '自定义控件三步走: ' 1、定义一个该类型控件的实例对像 ' 2、添加到父控件的Controls集合中(对于没有窗体界面的控件,2、3步可不要,如Timer控件) ' 3、定义该控件的属性,尤其是位置属性要定义 '********************************************************************************* Public Class Form1 '窗体的load事件,中加载控件。(当然你可以在任意地方加载) Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load My_Control_label() '生成label1标签控件函数 End Sub '生成label1标签控件函数 '将标签控件添加到窗体中,然后定义标签的text属性、位置、颜色、字体等属性。并添加Click事件处理函数 Private Sub My_Control_label() Dim label1 As New Label '定义一个标签控件对象 Me.Controls.Add(label1) '添加到窗体控件集中,你也可以添加到其他控件集中, '如(Panel1.Controls.Add(label1))就是添加到panel1控件中 With label1 .Text = "新建标签" .Location = New Point(10, 20) '定义控件位置,默认的是(0,0) .AutoSize = True .ForeColor = Color.Red .Font = New Font("楷体", 20) '定义字体 End With AddHandler label1.Click, AddressOf label_Click '添加click事件 End Sub '标签的click事件,点击该标签后,释放该控件资源 Private Sub label_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim label1 As Label = CType(sender, Label) '获取当前操作的控件对象,只有这样才能对该控件进行操作 Me.Controls.Remove(label1) '将控件移除 label1.Dispose() '释放控件资源 End Sub End Class
执行效果截图: