some controls have same behavior (like Label) some like button.
To test it: create WindowsApplication, put a button (name=button1) in the right lower corner
and replace your Form1.cs with:
using
System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
/* What is amazing!!! among all created labels visible is first
* just because they overlap a little bit. Make it not a label but a button
* commenting line designated in oneLabel method as // 1 and uncomment // 2
* and you will be able to see all created buttons still overlapped
* why is that?
*/
namespace
WindowsApplication1
{
public partial class Form1 : Form
{
private int counter,locY = 0;
public Form1()
{
InitializeComponent();
}
private void oneLabel()
{
Label la = new Label(); // 1
//Button la = new Button(); // 2
la.Text = "la_" + counter;
la.Top = locY+10;
la.Left = 110;
this.Controls.Add(la);
counter++;
}
private void button1_Click(object sender, EventArgs e)
{
oneLabel();
locY += 10; // if you specify 30 instead of 10 they will become visible!!!
}
}
}