Lukasz
Lukasz

Reputation: 2317

List of labels does not display in Picture Box

I have a problem with Labels in VisulaStudio. The version of VisualStudio I use is 2012.

The problem is, I need to show a grid and label the lines. The code I wrote seams identical to the solution of a similar problem here. It doesn't give me any compiler errors, but the labels still do not display in the pictureBox.

private void aResize()
{
       Size clientSize = this.ClientSize;
       int hToDraw, wToDraw;
       hToDraw = clientSize.Height - 2 * marginOfTab;
       wToDraw = clientSize.Width - 2 * marginOfTab;
       tabControl1.Size = new Size(wToDraw, hToDraw);
       piB1.Size = new Size(wToDraw, hToDraw);
       piB1.Image = new Bitmap(piB1.Size.Width, piB1.Size.Height);
       using (Graphics g = Graphics.FromImage(piB1.Image))
       {
           g.FillRectangle(new SolidBrush(Color.LightGray), 0, 0, W, H);
           Pen gridPen = new Pen(Color.White, 1f);
           int hDrawingStep = hToDraw / 10 -1;
           int wDrawingStep = wToDraw / 10 -1;
           for (int local = 1; local < 11; local++)
           {
           g.DrawLine(gridPen, 0,  hDrawingStep*local, wToDraw, hDrawingStep*local);     //horizontal axix
           g.DrawLine(gridPen, wDrawingStep*local, 0, wDrawingStep*local , hToDraw);     //vertical axis
           Label localLabel = new Label();
           localLabel.Name = "la" + local;
           localLabel.Visible = true;
           localLabel.Text = (local*100).ToString();
           localLabel.Location = new Point((int)local*hDrawingStep, (int)10);
           labelList.Add(localLabel);
           }
       }
}

All variables which are not declared in the code above are declared earlier. I didn't want to paste in too much. Thanks for any suggestion.

Upvotes: 0

Views: 123

Answers (1)

King King
King King

Reputation: 63357

You don't set any parent for your localLabel, so how could it be rendered? Try this right before adding your localLabel to your labelList:

//...
localLabel.Parent = piB1;
labelList.Add(localLabel);

Upvotes: 1

Related Questions