tupinikin 1 Denunciar post Postado Dezembro 8, 2015 Tenho uma dúvida em relação de passar o valor de um botão para outro form. tenho o seguinte código private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { string cod_evento = dataGridView1.CurrentRow.Cells[1].Value.ToString(); codigo_evento = cod_evento; string sql = " select * from eventos where cod_evento = " + cod_evento + " "; flowLayoutPanel1.Refresh(); MySqlDataAdapter da = new MySqlDataAdapter(sql, conn); DataTable dt = new DataTable(); da.Fill(dt); dataGridView1.Refresh(); // MessageBox.Show(dt.Rows.Count.ToString()); if (dt.Rows.Count == 0) { MessageBox.Show("erro", "erro", MessageBoxButtons.OK); } else { int y = 20; int incremento = 30; int contador = 1; for (int i = 0; i < dt.Rows.Count; i++) { Button b = new Button(); b.Name = i.ToString(); b.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; b.Font = new Font("Verdana", 15); string sexo = dt.Rows[i]["sexo"].ToString(); string tipo = string.Concat(dt.Rows[i]["nome_area"].ToString()," - ",sexo); b.Text = string.Concat(sexo.ToString(), tipo.ToString()); b.Click += new EventHandler(this.b_Click); // vamos carregar para o próximo form b.Size = new System.Drawing.Size(400, 60); flowLayoutPanel1.Controls.Add(b); flowLayoutPanel1.AutoScroll = true; y = y + incremento; contador++; lblCarregando.Text = ""; } } } void b_Click(object sender, EventArgs e) { Imprimir imprimir = new Imprimir(); imprimir.sexo = sexo; imprimir.tipo = tipo; imprimir.cod_evento = codigo_evento; // vamos carregar o form com os tipos e quantidades imprimir.Show(); lblCarregando.Text = ""; } Mas acontece que no loop, ele mostra certinho os valores, mas ao clicar, ele envia para o imprimir o último resultado do loop; Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Dezembro 9, 2015 Olha, você tem que explicar um pouco melhor seu código, colar ele aqui não vai adiantar muita coisa se não soubermos o que você quer... Evite colar o código todo, poste apenas as partes relevantes, diga exatamente sua dúvida por favor Compartilhar este post Link para o post Compartilhar em outros sites
tupinikin 1 Denunciar post Postado Dezembro 10, 2015 Acho que me expressei errado. Tenho um data grid que ao clicar nele, atualiza um flowlayoutpanel com botoes oriundos de uma consulta no banco trás corretamente mas ao clicar em algum botão e abrir um novo form, ele envia sempre o valor da ultima consulta e não os valores correspondentes ao botão Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Dezembro 10, 2015 Sexo e tipo são parâmetros ou variáveis globais? Qual é essa classe imprimir? Compartilhar este post Link para o post Compartilhar em outros sites
tupinikin 1 Denunciar post Postado Dezembro 10, 2015 são variaveis globais e no imprimir busco assim public string Sexo { get; set; } public Tipo { get; set; } Compartilhar este post Link para o post Compartilhar em outros sites
Dan Borges 26 Denunciar post Postado Dezembro 14, 2015 Provavelmente porque os botões compartilham do mesmo evento. Já tentou verificar isso? Compartilhar este post Link para o post Compartilhar em outros sites
Dan Borges 26 Denunciar post Postado Dezembro 14, 2015 a postagem ficou repetida Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Dezembro 15, 2015 Cara é meio estranho, porque os eventos são unicos e todos os botões acessam o mesmo evento, neste evento você usa uma global... Ou seja, o valor é o mesmo pra toda a aplicação. Compartilhar este post Link para o post Compartilhar em outros sites
tupinikin 1 Denunciar post Postado Dezembro 21, 2015 Era um erro na hora de setar as variaveis. Compartilhar este post Link para o post Compartilhar em outros sites