Jump to content

Checkbox not checked


Crim3
 Share

Recommended Posts

Bom dia, alguem me poderia dizer uma maneira para verificar se a checkbox nao esta checked ?

if checkbox1.checked then
dim var as integer
 var = 1
else
var = 0

não existe outra maneira de fazer isto ?

Edited by ribeiro55
Link to comment
Share on other sites

Esse if só vai ser verdadeiro se todas as condições forem verdadeiras (tens todas as condições ligadas por "and")

Ou seja, estás a ver se o cbl1ched é 1 e se o cbl2ched é 0 e se o cbl1ched é 0...

O que são essses cbl1ched ?

Ajude-me?

Link to comment
Share on other sites

Experimenta com uma List

If cbl1ched = 1 And cbl2ched = 0 And cbl1ched = 0 And cbl2ched = 0 And cbl3ched = 0 And cbl4ched = 0 And cbl5ched = 0 Then

nao dá para simplificar isto ?

Algo como isto é uma alternativa, podes converter para VB, mas só é simplificado na parte do If =) Agora edita como quiseres. Se for isto usa, mas de qualquer forma penso que tens de usar 'Or' ai no teu código pois o cbl1ched esta com valores 0 e 1.

List<CheckBox> objectos = new List<CheckBox>() { checkBox1, checkBox2, checkBox3, checkBox4, checkBox5, checkBox6 };
		int x = 0;

		for(int i = 1; i < objectos.Count; i++)
		{

			if (objectos.ElementAt(0).Checked == true && objectos.ElementAt(i).Checked == false)
			{
				x += 1;
			}
		}

		if(x == 5)
		{
			//...
		}
Edited by munkbozz
Link to comment
Share on other sites

O qu

Experimenta com uma List

Algo como isto é uma alternativa, podes converter para VB, mas só é simplificado na parte do If =) Agora edita como quiseres. Se for isto usa, mas de qualquer forma penso que tens de usar 'Or' ai no teu código pois o cbl1ched esta com valores 0 e 1.

List<CheckBox> objectos = new List<CheckBox>() { checkBox1, checkBox2, checkBox3, checkBox4, checkBox5, checkBox6 };
		int x = 0;

		for(int i = 1; i < objectos.Count; i++)
		{

			if (objectos.ElementAt(0).Checked == true && objectos.ElementAt(i).Checked == false)
			{
				x += 1;
			}
		}

		if(x == 5)
		{
			//...
		}

O que foi que fizeste podes explicar isto?

Não faço ideia. Formata isso correctamente

Estas a falar com quem?

Ajude-me?

Link to comment
Share on other sites

Crim3, como já foi dito em cima, cbl1ched não pode ser checked ao mesmo tempo que está unchecked (a menos que seja um tristate e não esteja nem uma coisa nem outra).

Ter

 If cbl1ched = 1 And cbl2ched = 0 And cbl1ched = 0

simplificando:

 If cbl1ched And Not cbl2ched And Not cbl1ched

faz tanto sentido como: Se o carro for preto e não preto, compra-o. Vais fazer o quê ao carro? Pode existir um carro preto e branco ao mesmo tempo?

Antes de escrever código, escreve as condições de forma natural. Vais reparar que usas as palavras "E" e "OU".

Se existe uma condição que testa a mesma variável nos extremos binários, tem de existir em duas configurações diferentes, como:

Se o carro for preto E tiver duas portas, compra-o. OU então, Se o carro não for preto E tiver 4 portas, compra-o.

Só depois de perceber os testes que queres fazer é que passamos para a decisão de qual é a melhor forma de o fazer.

@munkbozz, não precisas de criar uma instância de list explicitamente. O VB já transforma em array o que estiver dentro de chavetas (e acho que o C# também):

Dim objectos as CheckBox() = {checkBox1, checkBox2, checkBox3, checkBox4, checkBox5, checkBox6}

Neste caso, este método não faz muito sentido. Não se trata de uma verificação sucessiva... mas lá está, Crim3, tens de explicar melhor o que queres realmente testar com os valores das CheckBoxes.

Edited by ribeiro55

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.