Page 1 of 1

Controls?

Posted: Mon Dec 12, 2016 5:18 pm
by Dummy1912
Hello,

We have a custom usercontrol call 'SkinDate'
where we add at CreateHandle() in a Panel with our 'SkinDateAdding' controls

'SkinDate info
Code: Select all
    Dim l1 As New SkinDateAdding
    Dim l2 As New SkinDateAdding
    Dim l3 As New SkinDateAdding
    Dim ct As New Panel

Protected Overrides Sub CreateHandle()
        MyBase.CreateHandle()
        l1.Dock = DockStyle.Top
        l2.Dock = DockStyle.Top
        l3.Dock = DockStyle.Top

        ct.Location = New Point(0, 21)
        Controls.Add(ct)
        ct.Controls.Add(l3)
        ct.Controls.Add(l2)
        ct.Controls.Add(l1)

    End Sub
now this works fine
if we add a new custompanel in our form with the skindateadding control
we like to add our data in those controls

like so in our example
but its not working :(

and no we don't get any errors
just the skindate controls has been added by manually
any ideas please

'Form1 with a custompanel that contains our SkinDate
Code: Select all
For Each itm As Control In EnumerateAllControls(Me)
            For Each c As Control In itm.Controls
                If TypeOf c Is SkinDate Then
                    CType(c, SkinDateAdding).Description = "Test"
                    CType(c, SkinDateAdding).Description = "Test2"
                        CType(c, SkinDateAdding).Description = "test3"
                    End If
            Next
        Next

Re: Controls?

Posted: Tue Dec 13, 2016 4:00 pm
by CodenStuff
Send me your stuff I'll have a nosey :)

Re: Controls?

Posted: Thu Dec 15, 2016 12:52 pm
by CodenStuff
Your code is a little fiddly but if I understand you correctly you can do it like this:

First open SkinDate.vb and make these public:
Code: Select all
Public l1 As New SkinDateAdding
    Public l2 As New SkinDateAdding
    Public l3 As New SkinDateAdding
Then in your form3 change your handle code to this:
Code: Select all
    Protected Overrides Sub CreateHandle()
        MyBase.CreateHandle()
        TabStop = False

        'l1.Dock = DockStyle.Top
        ''  l1.Description = Description
        ''l1.EventColor = eventcolor

        'l2.Dock = DockStyle.Top

        'l3.Dock = DockStyle.Top

        For Each itm As Control In EnumerateAllControls(Me)
            For Each c As Control In itm.Controls
                'ct.Location = New Point(0, 21)
                'Controls.Add(ct)
                If TypeOf c Is SkinDate Then
                    DirectCast(c, SkinDate).l1.Description = "Test1"
                    DirectCast(c, SkinDate).l2.Description = "Test2"
                    DirectCast(c, SkinDate).l3.Description = "Test3"
                End If
            Next
        Next
    End Sub
You would access them directly by their names l1, l2 and l3 ect

Re: Controls?

Posted: Thu Dec 15, 2016 4:27 pm
by Dummy1912
Ah... silly me lol
Thanks again dear friend