Usuário com melhor resposta
Incrementar um contador a um radiobutton

Pergunta
-
Boa tarde,
Tenho 5 radiobuttons (rbt1,rbt2,rbt3,rbt4,rbt5)
Tenho que verificar qual opção foi selecionada, mas não gostaria de utilizar IF.
Existe alguma forma de fazer algo parecido com o código abaixo?
for(int i = 0; i >5; i++)
{
if(rbt + i.Checked)
{
MessageBox.Show("Entrou)";
}
}Agradeço pela atenção.
Respostas
-
Tentei dessa forma, mas como os RadioButton estão dentro de um groupbox não funcionou.
Neste caso voce pode fazer:
foreach (Control c in panel1.Controls) { if(c is RadioButton) { if ((c as RadioButton).Checked) MessageBox.Show(c.Name + " - Entrou"); } }
onde panel1 é nome do seu groupbox
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Marcado como Resposta Gui_Souza quarta-feira, 30 de novembro de 2016 18:52
Todas as Respostas
-
Onde voce chama esse codigo?
O ideal é usar o evento CheckedChange, onde seus 5 radiobuttons usam o mesmo delagate.
voce pode usar o argumento sender para diferenciar cada um dos controles, exemplo:
private void radioButton_CheckedChanged(Object sender, EventArgs e) { MessageBox.Show(Sender.Name + " - Entrou)"; }
att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
-
Olá,
Se os RadioButton estiverem soltos no form, pode fazer assim:
foreach (Control c in this.Controls) { if(c is RadioButton) { if ((c as RadioButton).Checked) MessageBox.Show("Entrou"); } }
Valeu!
Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!
André Secco
Microsoft MSP & MSDN Tech Advisor
Blog: http://andresecco.com.br
GitHub: http://github.com/andreluizsecco
Twitter: @andre_secco -
-
-
Tentei dessa forma, mas como os RadioButton estão dentro de um groupbox não funcionou.
Neste caso voce pode fazer:
foreach (Control c in panel1.Controls) { if(c is RadioButton) { if ((c as RadioButton).Checked) MessageBox.Show(c.Name + " - Entrou"); } }
onde panel1 é nome do seu groupbox
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
- Marcado como Resposta Gui_Souza quarta-feira, 30 de novembro de 2016 18:52
-
Tentei dessa forma, mas como os RadioButton estão dentro de um groupbox não funcionou.
Neste caso voce pode fazer:
foreach (Control c in panel1.Controls) { if(c is RadioButton) { if ((c as RadioButton).Checked) MessageBox.Show(c.Name + " - Entrou"); } }
onde panel1 é nome do seu groupbox
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------