BOTOES COM MESMO NOME
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...
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...
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
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
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
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
vlw
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