Adding controls to panel

Posted on 2007-11-28
Last Modified: 2011-08-18
The section of code
is only adding the first item in the list of four.

What am I missing?
private void mainForm_Load(object sender, EventArgs e)


            int _x = 100;

            int _y = 100;

            int rowCount = 0;

            int screenWidth = (this.ClientSize.Width - (_x*2));

            ADODB.Recordset rs = new ADODB.Recordset();

            Connection = new ADODB.Connection();

            Connection.Open("NKTConnections", null, null, 0);

            string sql = "SELECT d.event_id, d.event_title, d.event_type, d.event_location FROM events_calendar_data d, events_calendar_datetime t where d.event_id = t.event_id ORDER BY t.event_date DESC, d.event_title;";

            rs.CursorLocation = CursorLocationEnum.adUseClient;

            rs.Open(sql, Connection, CursorTypeEnum.adOpenForwardOnly, LockTypeEnum.adLockReadOnly, 0);

            int _recordCount = rs.RecordCount;

            Label[] d_event_title = new Label[_recordCount];

            Label[] d_event_type = new Label[_recordCount];

            Label[] d_event_location = new Label[_recordCount];

            Label[] d_event_remove = new Label[_recordCount];

            Button[] d_event_edit = new Button[_recordCount];

            CheckBox[] d_event_cb_remove = new CheckBox[_recordCount];

            while (!rs.EOF)


                string event_id = rs.Fields["event_id"].Value.ToString();

                string event_title = rs.Fields["event_title"].Value.ToString();

                string event_type = rs.Fields["event_type"].Value.ToString();

                string event_location = rs.Fields["event_location"].Value.ToString();

                d_event_title[rowCount] = new Label();

                d_event_type[rowCount] = new Label();

                d_event_location[rowCount] = new Label();

                d_event_remove[rowCount] = new Label();

                d_event_edit[rowCount] = new Button();

                d_event_cb_remove[rowCount] = new CheckBox();

                d_event_title[rowCount].Font = new Font("Arial", 10, FontStyle.Bold);

                d_event_title[rowCount].Text = event_title;

                d_event_title[rowCount].Location = new System.Drawing.Point(_x, _y);

                d_event_title[rowCount].Width = screenWidth;

                d_event_type[rowCount].Font = new Font("Arial", 8, FontStyle.Bold);

                d_event_type[rowCount].Text = event_type;

                d_event_type[rowCount].Location = new System.Drawing.Point(_x, _y+10);

                d_event_type[rowCount].Width = screenWidth;

                d_event_location[rowCount].Font = new Font("Arial", 8, FontStyle.Bold);

                d_event_location[rowCount].Text = event_location;

                d_event_location[rowCount].Location = new System.Drawing.Point(_x, _y+20);

                d_event_location[rowCount].Width = screenWidth;

                d_event_remove[rowCount].Font = new Font("Arial", 6, FontStyle.Regular);

                d_event_remove[rowCount].Text = "Check to Remove";

                d_event_remove[rowCount].Location = new System.Drawing.Point(_x, _y+30);

                d_event_remove[rowCount].Width = screenWidth;






                _y += 100;






Open in new window

Question by:nplib
  • 3
  • 2
LVL 55

Expert Comment

by:Jaime Olivares
ID: 20368767
How do you know?, maybe them are present but with null string?
LVL 17

Author Comment

ID: 20368803
because I did a lot of testing to be sure.

if I do this
then the next one shows but not the following two don't show,

if I do this.

then the first availble one shows but not the last, and if I comment out the first three then the last one shows, I've even reordered them to see what happens, and always the first one in the list is added but not the others.
LVL 55

Expert Comment

by:Jaime Olivares
ID: 20368914
have you tried with AddRange?
LVL 17

Author Comment

ID: 20368929
I've looked into it, but I don't know enough about it, I was having trouble finding good examples with what I needed.
LVL 55

Accepted Solution

Jaime Olivares earned 250 total points
ID: 20369298
event_list_panel.Controls.AddRange(new Control[] {d_event_title[rowCount], d_event_type[rowCount],d_event_location[rowCount] });

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Syntax error 9 45
how to read json value 2 32
Help with C#, MVC, razor. 6 23
WCF Service Application cannot connect from TCP terminal 1 15
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…

863 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now