Populate Buttons With Database Values c#

Hi Guys okay so i have a database for this we will use a simple database.txt as reference

Text Database For Population 

I want to be able to add a button containing for example

 [Peter] , [James], ext ext

For Each Read Out Of The Database How Would I Pressure the population in this instance considering i have to create a button for each new name that is read from the database

Thanks In Advance

P.S. Initially i Used a dropdown with the following code

        List<MDB.Userdb> packObjects = new System.Collections.Generic.List<MDB.Userdb>();
        string colname = "UserRef";
            packObjects = MDB.User.RetrieveList();

            if (!dgvData.Columns.Contains(colname))
                DataGridViewComboBoxColumn cb = new DataGridViewComboBoxColumn();
                cb.DataPropertyName = colname;
                cb.Name = colname;
                cb.HeaderText = colname;
                cb.DataSource = packObjects;
                cb.ValueMember = "Idx";
                cb.DisplayMember = "UserName";
                //refresh data in drop down
                DataGridViewComboBoxColumn ocb = (DataGridViewComboBoxColumn)dgvData.Columns[colname];
                ocb.DataPropertyName = colname;
                ocb.Name = colname;
                ocb.HeaderText = colname;
                ocb.DataSource = packObjects;
                ocb.ValueMember = "Idx";
                ocb.DisplayMember = "UserName";
        catch (Exception ex)
            MessageBox.Show("Unable to Retrieve User Detials " + ex.Message, "Retrieve User Detials", MessageBoxButtons.OK, MessageBoxIcon.Information);

Notes: WinForms c# .Net4.0


You can try the below code :

for (int i = 0; i < 5; i++)
            Button newPanelButton = new Button();
            newPanelButton.Name = "txtRuntime" + i;
            newPanelButton.Text = "Runtime"+i;
            newPanelButton.Location = System.Drawing.Point.Add(new Point(4 + i * 307, 4), new Size(20, 20));// here make use of your logic.


StreamReader menu = new StreamReader("database.txt");
        int repetition = 0;

        while (!menu.EndOfStream)
            Button dynamicbutton = new Button();
            dynamicbutton.Click += new System.EventHandler(menuItem_Click);
            dynamicbutton.AutoSize = true;
            dynamicbutton.Text = menu.ReadLine();
            dynamicbutton.Visible = true;
            dynamicbutton.Location = new Point(4 + repetition * 307, 4);
            dynamicbutton.Height = 24;
            dynamicbutton.Width = dynamicbutton.Text.Length * 20;
            dynamicbutton.BackColor = Color.FromArgb(0, 0, 0);
            dynamicbutton.ForeColor = Color.White;
            dynamicbutton.Font = new Font("Arial", 7);

This Does The Trick With A Few Extra Things In The MenuItem_Click Event i Can Also Retrieve The Name Of The Button And So Forth


 ? Adding GUI controls dynamically
 ? trying to add/remove controls to a form
 ? removing dynamically created controls C#
 ? Add columns to a datatable in c#?
 ? ASP NET - C#: Access controls by Id
 ? Add a bunch of controls dynamically to screen in iOS
 ? Can't dynamically add new literal to ASP.NET Panel Control
 ? Add dynamic ASP.NET controls via a DropDownList to the page
 ? WinForm: control won't add to a panel
 ? ASP.NET refresh Update Panel