2013-06-03 8 views
20

In una forma di Windows, posso aggiungere il controllo in modo dinamico in questo modo:Aggiungere i controlli dinamicamente in FlowLayoutPanel

for (int i = 0; i < 5; i++) 
{ 
    Button button = new Button(); 
    button.Location = new Point(160, 30 * i + 10); 

    button.Tag = i; 
    this.Controls.Add(button); 
} 

Come posso aggiungere controlli in modo dinamico in un FlowLayoutPanel?

risposta

31

Per un FlowLayoutPanel, non è necessario specificare una posizione poiché i controlli sono disposti per voi. Basta cambiare "flowLayoutPanel1" per il nome del FlowLayoutPanel:

for (int i = 0; i < 5; i++) 
{ 
    Button button = new Button(); 
    button.Tag = i; 
    flowLayoutPanel1.Controls.Add(button); 
} 
-4

fare oggetti fluire dinamicamente da database (server SQL) per flowLayoutPanel1:

void button1_Enter(object sender, EventArgs e) 
    { 
     Button btn = sender as Button; 
     btn.BackColor = Color.Gold; 
    } 

void button1_Leave(object sender, EventArgs e) 
    { 
     Button btn = sender as Button; 
     btn.BackColor = Color.Green; 
    } 


private void form1_Load(object sender, EventArgs e) 
    { 
     flowLayoutPanel1.Controls.Clear(); 
     SqlConnection cn = new SqlConnection(@"server=.;database=MyDatabase;integrated security=true"); 

     SqlDataAdapter da = new SqlDataAdapter("select * from Items order by ItemsName", cn); 

     DataTable dt = new DataTable(); 
     da.Fill(dt); 

     for (int i = 0; i < dt.Rows.Count; i++) 
     { 
      Button btn = new Button(); 
      btn.Name = "btn" + dt.Rows[i][1]; 
      btn.Tag = dt.Rows[i][1]; 
      btn.Text = dt.Rows[i][2].ToString(); 
      btn.Font = new Font("Arial", 14f, FontStyle.Bold); 
      // btn.UseCompatibleTextRendering = true; 
      btn.BackColor = Color.Green; 
      btn.Height = 57; 
      btn.Width = 116; 
      btn.Click += button1_Click; // set any method 
      btn.Enter += button1_Enter; // 
      btn.Leave += button1_Leave; // 


      flowLayoutPanel1.Controls.Add(btn);     

     } 
+19

Cosa diavolo fa SQL hanno a che fare con questa domanda? –

+2

Aiutami mentre aggiungo i controlli a un modulo da un database – Mark