2020年8月15日 星期六

vb.net 創立動態控件 [Create dynamic component]

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private labelDemo As Windows.Forms.Label

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Me.SuspendLayout()

    If labelDemo Is Nothing Then

        labelDemo = New Windows.Forms.Label
        labelDemo.Name = "label"
        labelDemo.Text = "You Click the Button"
        labelDemo.AutoSize = True
        labelDemo.Left = 0
        labelDemo.Top = 0
        labelDemo.BackColor = Drawing.Color.Violet
        Me.Controls.Add(labelDemo)

    Else
        Me.Controls.Remove(labelDemo)
        labelDemo = Nothing
    End If

    Me.ResumeLayout()

End Sub





 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        For i As Integer = Me.Controls.Count - 1 To 0 Step -1
            Dim ctrl = Me.Controls(i)

            If TypeOf (ctrl) Is Label Then
                If InStr(ctrl.Name, "label") <> 0 Then
                    ctrl.Dispose()
                    Me.Controls.Remove(ctrl)
                End If
            End If
        Next
    End Sub

沒有留言:

張貼留言