Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    158

    [Vb6]Problema con tre checkbox

    Salve, ecco il problema:
    dovrei simulare il funzionamento di tre option button tramite 3 checkbox.
    Mi spiego meglio.
    Premetto che non posso usare gli optionbutton, in quanto uso uno sfondo al form ed è molto antipatico vedere (per quanto io possa rimpicciolirlo) quel poco di colore diverso dal mio sfondo (celeste sfumato).
    Detto questo allora vi spiego il problema.
    Ho questi tre checkbox
    check1(0) check1(1) check1(2)
    per default tengo il check1(0).value=1.
    Vorrei che quando faccio click su qualsiasi degli altri 2 checkbox, il primo prendesse il valore 0 e quello su cui ho fatto click invece andasse ad 1.
    Ps. solo un checkbox deve rimanere fleggato.
    Grazie anticipatamente
    Ps. provando e riprovando mi da sempre l'errore n.28 Spazio dello stack esaurito

  2. #2
    Sono nuovo di VB ma credo che la caratteristica dei CheckBox sia proprio quella di rimanere flaggati anche su selezioni miltiple (a differenza degli OptionButton).
    Potresti risolvere facendo una routine che ad ogni click su una casella, deseleziona le altre.
    Saluti
    Ale

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    158
    salve ale,
    allora il problema è proprio questo.
    quando faccio questa routine, alla fine mi da sempre errore.

  4. #4
    Cosa fai? Lavori sullo stato Checked? Con If-Then o Select-Case?
    Perchè non posti un po' di codice che cerchimo di capirci qualcosa?

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Quell'errore e' sempre conseguenza del fatto che il codice contenuto in un evento chiama un altro evento che, a sua volta, chiama il primo.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    158
    Select Case Index
    Case 0
    Check1(0).Value = 1: Check1(1).Value = 0: Check1(2).Value = 0
    Case 1
    Check1(0).Value = 0: Check1(1).Value = 1: Check1(2).Value = 0
    Case 2
    Check1(0).Value = 0: Check1(1).Value = 0: Check1(2).Value = 1
    End Select

  7. #7
    un circolo vizioso

  8. #8
    Non credo che possa andar bene.
    Che succede se il Check1 è selezionato e cliccandoci sopra lo deselezioni?

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    158
    quindi .... come posso modificare il codice...

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    codice:
        Static busy As Boolean
        
        If Not busy Then
            busy = True
            Select Case Index
                Case 0
                    Check1(0).Value = 1: Check1(1).Value = 0: Check1(2).Value = 0
                Case 1
                    Check1(0).Value = 0: Check1(1).Value = 1: Check1(2).Value = 0
                Case 2
                    Check1(0).Value = 0: Check1(1).Value = 0: Check1(2).Value = 1
            End Select
            busy = False
        End If

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.