BOTOES COM MESMO NOME

NALDOXD 05/12/2012 15:51:12
#415496
Boa tarde galerinha, antigamente eu trabalhava com o VB 6 e lá tinha uma forma de colocar o mesmo nome do bostões e diferenciar eles pelo index, eu começei um projeto aqui na empresa de alguns secadores e ne uma tela vou ter mais de 50 botões com imagens para diferenciar os secadores eu começei fazendo assim:

private void simpleButton1_Click(object sender, EventArgs e)
{
SelecionaSecador(1);
}

private void simpleButton2_Click(object sender, EventArgs e)
{
SelecionaSecador(2);
}

e na função SelecionaSecador eu ia fazer um switch case mas to achando isso muito extenso.. no C# ( VS 2010 ) tem como colocar o mesmo nome no botão de usar o index dele como no VB ? porque eu tento renomear eles iguais e da erro falando que o valor da propriedade não é valida... tem que ativar algum botão? att...
OCELOT 05/12/2012 15:54:44
#415499
Não existe índices de controles no .Net, o máximo que você pode fazer é colocar a mesma função para tratar o evento, onde o parâmetro sender pode ser usado para saber qual botão foi clicado, mas não tem como você automaticamente atribuir um número para eles
JABA 06/12/2012 12:30:36
#415547
Resposta escolhida
Olá NALDOXD,

Toda vez que você criar um botao, você vai ter que adicionar um handler apontando para um metodo padrao.

ex:

this.button1.Click += new System.EventHandler(simpleButton1_Click);
this.button2.Click += new System.EventHandler(simpleButton1_Click);

private void simpleButton1_Click(object sender, EventArgs e)
{
if (sender.Name == [Ô]button1[Ô])
{
SelecionaSecador(1);
}
else if (sender.Name == [Ô]button2[Ô])
{
SelecionaSecador(2);
}
}

vlw
JABA 06/12/2012 12:48:58
#415548
Uma maneira melhor para fazer isso é criar uma lista de button e passa-la como parametro para o sender do metodo simpleButton1_Click, assim, você poderá percorrer o indice da lista comparando com os botoes que queira usar.

vlw
NALDOXD 03/01/2013 11:49:40
#416673
Obrigado Jaba e Ocelot... Ultizei um medo para listar os botões parecido com o que você mecionou Jaba.. obrigado pela idéia! :D
Tópico encerrado , respostas não são mais permitidas