Objectverwijzing is niet op een exemplaar van een object ingesteld

Status
Niet open voor verdere reacties.

Mowadde

Nieuwe gebruiker
Lid geworden
3 apr 2012
Berichten
3
Hallo,
ik dien een aantal labels via een tabel structuur toe te voegen aan een panel

Met 2-forlusjes lukt dit wel via volgende code:
Code:
        private void InstellenLabels()
        {
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < 7; j++)
                {
                    Label lbl = new Label();
                    lbl.Left = 1 + i * 100;
                    lbl.Top = 1 + j * 15;
                    lbl.Width = 100;
                    lbl.Height = 15;
                    lbl.Text = "Label" + (i + 1);

                    pnlLabels.Controls.Add(lbl);

                }                
            }
        }


Ik had deze code veel liever gemaakt via een Label[,] array zoals het volgende:

Code:
public partial class Form1 : Form
    {
        Label[,] lblArray;

        public Form1()
        {
            InitializeComponent();
            lblArray = new Label[5, 7];
            InstellenLabels();
        }

        private void InstellenLabels()
        {
            for (int i = 0; i < lblArray.GetLength(0); i++)
            {
                for (int j = 0; j < lblArray.GetLength(1); j++)
                {
                    lblArray[i, j].Left = 1 + i * 100;
                    lblArray[i, j].Top = 1 + j * 15;
                    lblArray[i, j].Width = 100;
                    lblArray[i, j].Height = 15;
                    lblArray[i, j].Text = "Label" + (i + 1);

                    pnlLabels.Controls.Add(lblArray[i, j]);

                }                
            }
        }
    }

Ik zie niet wat er hier fout aan is maar toch bij het uitvoeren krijg ik deze foutmelding bij alle lijnen code binnen de 2de for-lus: NullReferenceException was unhandled - De objectverwijzing is niet op een exemplaar van een object ingesteld.

Iemand die weet wat ik fout doe? :)
 
Nvm , gevonden:

Code:
for (int j = 0; j < lblArray.GetLength(1); j++)
                {
                    lblArray[i,j] = new label();
                    lblArray[i, j].Left = 1 + i * 100;
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan