Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Amália

Limitar o uso de checkbox

Recommended Posts

Boa noite!Sou iniciante em programação VB... gostaria de uma ajuda no seguinte item:Tenho várias checkbox e desejo limitar ao uso máximo de apenas 10. Caso a quantidade "checada" seja maior, deve ser emitida uma mensagem.Alguém sabe como posso fazer?Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode criar uma variavel pública, fazer todas esses checkboxes serem parte de um vetor de objetos e no evento click somar ou substrair 1 da variavel e ir verificando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou sem Vb em mãos aora então vou tentar criar alo para você meio no chute, depois me dia se deu certo.Declare uma variável pública ou pode ser privada se for usar em um form só. Vou chamar a variável de CCTente chamar a seguinte função no evento click de cada check box

private sub ContaCheckBoxdim ctlControle as controlfor each ctlControle in controlsif typeof ctlControle is CheckBox then    if ctlControle.value = 1 then         cc = cc + 1            if cc > 10 then                 msgbox "você ultrapassou o limite de check box a serem selecionadas"            end if    end ifend ifnextend sub

Depois me avisa se deu certo por favor, também fiquei curioso. E se alo não der mas conseguir adaptar essa idéia para aluma coisa diferente, me avise também.Boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou sem Vb em mãos aora então vou tentar criar alo para você meio no chute, depois me dia se deu certo.Declare uma variável pública ou pode ser privada se for usar em um form só. Vou chamar a variável de CCTente chamar a seguinte função no evento click de cada check box

private sub ContaCheckBoxdim ctlControle as controlfor each ctlControle in controlsif typeof ctlControle is CheckBox then    if ctlControle.value = 1 then         cc = cc + 1            if cc > 10 then                 msgbox "você ultrapassou o limite de check box a serem selecionadas"            end if    end ifend ifnextend sub
Depois me avisa se deu certo por favor, também fiquei curioso. E se alo não der mas conseguir adaptar essa idéia para aluma coisa diferente, me avise também.Boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente do jeito que havia feito não dará certo, pois declarei a variável como privada, então ela irá ficar acumulando os valores a cada clique que você der.Te duas soluções, ou antes de cada função zerá-la. (cc=0)

private sub ContaCheckBoxdim ctlControle as controlfor each ctlControle in controlsif typeof ctlControle is CheckBox thencc = 0   if ctlControle.value = 1 then     cc = cc + 1       if cc > 10 then         msgbox "você ultrapassou o limite de check box a serem selecionadas"       end if    end ifend ifnextend sub

Ou fazer o que o Preda falou, colocar também algo para diminuir quando for desmarcada.

private sub ContaCheckBoxdim ctlControle as controlfor each ctlControle in controlsif typeof ctlControle is CheckBox then   if ctlControle.value = 1 then     cc = cc + 1       if cc > 10 then         msgbox "você ultrapassou o limite de check box a serem selecionadas"       end if    end if    if ctlcontrole.value = 0 then      cc = cc -1    end ifend ifnextend sub

Acho que agora funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.