Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

how to create an object array with a child object.

Posted on 2009-04-14
4
Medium Priority
?
187 Views
Last Modified: 2012-05-06
Hi All!

Ok.. I have a small loop that creates a new PANEL, After each panel is created I also am creating a new LABEL within that panel.. as its child.

The problem is I only get one LABEL in the first PANEL?

Im stumped..
Thanks in Advance..

Code is below..
Dim panelx(10) As Panel
        Dim labelx(10) As Label
 
        CNT = 0
        Dim looper
        For looper = 1 To 9
 
            panelx(looper) = New Panel
            labelx(looper) = New Label
 
            panelx(looper).BorderStyle = BorderStyle.FixedSingle
            panelx(looper).BackColor = Color.Pink
            panelx(looper).Width = 123 * looper
            panelx(looper).Height = 123
            panelx(looper).Location = New Point(10, 10)
 
 
            Me.Controls.Add(panelx(looper))
 
 
            ToolTip1.SetToolTip(panelx(looper), looper)
            ToolTip1.SetToolTip(labelx(looper), ".." & looper)
 
            labelx(looper).Location = New Point(-1, -2)
            labelx(looper).MinimumSize = New Size(24, 24)
            labelx(looper).Size = New Size(24, 24)
            labelx(looper).TextAlign = ContentAlignment.MiddleCenter
            labelx(looper).BackColor = Color.GreenYellow
            labelx(looper).Text = looper.ToString
            
panelx(looper).Controls.Add(labelx(looper))
 
        Next looper

Open in new window

vb.jpg
0
Comment
Question by:jellydeal
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 31

Accepted Solution

by:
hnasr earned 2000 total points
ID: 24138374
Your code is working and labels are inserted, but overlapping panels.

Replace the hnasr commented lines and check:

            panelx(looper).Width = 123 '* looper ==== hnasr commnted the multiplication
            panelx(looper).Height = 123
            panelx(looper).Location = New Point(10 + (looper-1) * 123, 10) 'hnasr changed the left of the panel
0
 

Author Closing Comment

by:jellydeal
ID: 31569860
Thanks hnasr..
Too close to the trees to see thw woods and all that!
Thanks for your help,
much appreciated.
Kindest regards
Barry
0
 
LVL 31

Expert Comment

by:hnasr
ID: 24141019
You are welcome!
0
 

Author Comment

by:jellydeal
ID: 24145772
0

Featured Post

The top UI technologies you need to be aware of

An important part of the job as a front-end developer is to stay up to date and in contact with new tools, trends and workflows. That’s why you cannot miss this upcoming webinar to explore the latest trends in UI technologies!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This article will show how Aten was able to supply easy management and control for Artear's video walls and wide range display configurations of their newsroom.
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
Six Sigma Control Plans
Suggested Courses

721 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question