i used FlowLayoutPanel and TableLayoutPanel .it solved my problem.
no need to do anything else...
int basex = panel1.Location.X;
int basey = panel1.Location.Y;
for (int i = 0; i < 5; i++)
{
Button b = new Button();
b.Left = basex;
b.Top = basey;
basey += 50;
b.Name = String.Format("btnDriver{0}", i + 1);
b.Text = String.Format("btnDriver{0}", i + 1);
b.Click += new EventHandler(b_Click);
flowLayoutPanel1.Controls.Add(b);
}