Usuário com melhor resposta
Propriedades Checkbox (Salvar estado)

Pergunta
-
Boa tarde pessoal,
Estou trabalhando com checkbox e gostaria de saber se alguém poderia me ajudar a respeito de salvar seu estado (conforme seja marcado), e também como fazer no caso em que só 1 (de 2 ou mais) checkbox possa ser marcado (evento onde um checkbox "true" anula a possibilidade de outro checkbox "true").
Segue uma tela do meu projeto para melhor entendimento.
Grata.
Respostas
-
Boa tarde.
Para recuperar os checkbox selecionados, no evento do botão salvar faça:
for (int i = 0; i < IdCheckBox.Items.Count; ++i) { if (IdCheckBox.Items[i].Selected) { //Só entrará nesse if os checkbox selecionados } }
Caso você queira fazer em tempo de execução ao invés de no evento do botão salvar, utilize o código acima no evento CheckedChanged do CheckBox.
Quanto a restringir a seleção de apenas 1 item, você pode utilizar o RabioButton que se enquadra melhor para essa necessidade.
Espero ter ajudado.
Wesley Lisboa
- Editado Wesley Lisboa quarta-feira, 26 de agosto de 2015 19:11
- Marcado como Resposta mariannagonca quinta-feira, 27 de agosto de 2015 13:33
-
Boa noite
mariannagonca Então, no caso de seleção unica, por que não usar Radio Buttons?
Caso não seja possível usar Radio Buttons, você pode fazer uma variável de controle para verificar se algum Check está selecionado, tipo:
selecionado = false;
Ai no evento de seleção você verifica:
if(!isChecked && !selecionado) { selecionado = true; isChecked = true; } else if (isChecked) { selecionado = false; isChecked = false; } else { return; }
Isso é apenas um exemplo, a lógica você terá de desenvolver.
Outro detalhe é quanto ao armazenamento.
Esse controladores funcionam em estados booleanos, Verdadeiro ou Falso ou 0 e 1.
Para salvar no banco de dados, crie um campo booleano q receba esses valores, e no momento do armazenamento coloque como um valor de verdadeiro ou falso.
Espero ter ajudado.
- Marcado como Resposta mariannagonca quinta-feira, 27 de agosto de 2015 13:33
Todas as Respostas
-
Boa tarde.
Para recuperar os checkbox selecionados, no evento do botão salvar faça:
for (int i = 0; i < IdCheckBox.Items.Count; ++i) { if (IdCheckBox.Items[i].Selected) { //Só entrará nesse if os checkbox selecionados } }
Caso você queira fazer em tempo de execução ao invés de no evento do botão salvar, utilize o código acima no evento CheckedChanged do CheckBox.
Quanto a restringir a seleção de apenas 1 item, você pode utilizar o RabioButton que se enquadra melhor para essa necessidade.
Espero ter ajudado.
Wesley Lisboa
- Editado Wesley Lisboa quarta-feira, 26 de agosto de 2015 19:11
- Marcado como Resposta mariannagonca quinta-feira, 27 de agosto de 2015 13:33
-
Boa noite
mariannagonca Então, no caso de seleção unica, por que não usar Radio Buttons?
Caso não seja possível usar Radio Buttons, você pode fazer uma variável de controle para verificar se algum Check está selecionado, tipo:
selecionado = false;
Ai no evento de seleção você verifica:
if(!isChecked && !selecionado) { selecionado = true; isChecked = true; } else if (isChecked) { selecionado = false; isChecked = false; } else { return; }
Isso é apenas um exemplo, a lógica você terá de desenvolver.
Outro detalhe é quanto ao armazenamento.
Esse controladores funcionam em estados booleanos, Verdadeiro ou Falso ou 0 e 1.
Para salvar no banco de dados, crie um campo booleano q receba esses valores, e no momento do armazenamento coloque como um valor de verdadeiro ou falso.
Espero ter ajudado.
- Marcado como Resposta mariannagonca quinta-feira, 27 de agosto de 2015 13:33
-
Wesley, bom dia!
O checkbox não recebe a propriedade "Items", então qual seria a extensão adequada?
Grata.
- Marcado como Resposta mariannagonca quinta-feira, 27 de agosto de 2015 13:33
- Não Marcado como Resposta mariannagonca quinta-feira, 27 de agosto de 2015 13:33
-
-
-
Wesley, bom dia!
O checkbox não recebe a propriedade "Items", então qual seria a extensão adequada?
Grata.
Bom dia.
O motivo provável é que você criou CheckBox independentes como por exemplo em seu campo vacinação, o ideal é utilizar o CheckedListBox que agrupa os CheckBox facilitando na hora de extrair as informações, segue exemplo com documentação(inclusive de como recuperar os CheckBox selecionados):
Caso você opte por deixar como CheckBox separados utilize a forma que o Maicon enviou.
Wesley Lisboa
-
Se Você estiver usando WPF, você pode usar paineis para receber cada grupo de Radio.
Windows forms nunca tentei, mas deve seguir o mesmo padrão.
Ex.
<Stackpanel orientation="Horizontal" Name="Painel1"> <RadioButton /> <RadioButton /> </Stackpanel> <Stackpanel orientation="Horizontal" Name="Painel2"> <RadioButton /> <RadioButton /> </Stackpanel>
Isso dentro da mesma tela.