troubleshooting Question

Clear the Runtime-Created Controls from a Panel vb.net

Avatar of ScottParker
ScottParkerFlag for United States of America asked on
.NET ProgrammingVisual Basic.NET
11 Comments3 Solutions576 ViewsLast Modified:
I have a form.  On that form is a Panel called pnlData.
I dynamicly create controls on the panel data during runtime.

When a textbox gets focus, I have a "Popup" panel display a numberpad so the user can enter numbers into the field. (no keyboard)  

Here is a sample of the code that creates the 2nd panel...

   Private Sub crtNumPad(ByVal sender As TextBox)

        Dim pnlData() As Control = Me.Controls.Find("pnlData", True)
        'pnlData(0).SendToBack()

        Dim pnlNumPad As New Panel
        With pnlNumPad
            .Name = "plnNumPad"
            .Location = New System.Drawing.Point(sender.Location.X + 65, sender.Location.Y)
            .Size = New System.Drawing.Size(150, 200)
            .BackColor = Color.AliceBlue
            .Visible = True
            .BringToFront()
        End With

        pnlData(0).Controls.Add(pnlNumPad)
        pnlData(0).Controls.SetChildIndex(pnlNumPad, 0)

        Dim btnTemp1 As New Button
        With btnTemp1
            .Name = "btnTemp1"
            .Location = New System.Drawing.Point(1, 1)
            .Size = New System.Drawing.Size(50, 50)
            .AutoSize = False
            .Text = "1"
            .BringToFront()
        End With
        pnlNumPad.Controls.Add(btnTemp1)
        .....  more code....

End sub

When the user moves off of the field, I have the following subroutine..

    Private Sub txtItemQty_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim pnlData() As Control = Me.Controls.Find("pnlData", True)
        For Each ctrl As Control In pnlData(0).Controls
            If ctrl.Name = "pnlNumPad" Then
                pnlData(0).Controls.Remove(ctrl)
                ctrl.Dispose()
            End If
        Next
        pnlData(0).Update()
    End Sub

the pnlNumPad is not removed.  

Any ideas?
ASKER CERTIFIED SOLUTION
Mike Tomlinson
High School Computer Science, Computer Applications, Digital Design, and Mathematics Teacher
Join our community to see this answer!
Unlock 3 Answers and 11 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 3 Answers and 11 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros