Gestione due checkbox

di il
17 risposte

Gestione due checkbox

Buongiorno, ho l'ultimo problema per ultimare il programma. Devo modificare un testo usando due checkbox ma non funziona 

Io ho fatto così:

If check1.value=1 then

 text7.text=text15.text

Else

 text7.text =checkdx(1)

Per un checkbox e lo stesso per l'altra checkbox. Il problema è che ogni volta che devo cambiare selezione devo cliccare due volte perché la prima toglie il checked all'altro e la seconda mette il checked a quello giusto. Dove sbaglio?

17 Risposte

  • Re: Gestione due checkbox

    Mostraci tutto il codice degli eventi coinvolti, non solo una parte che non fa capire nulla.

    E usa i TAG CODE quando posti nel forum il codice

  • Re: Gestione due checkbox

    Ciao,

    a parte che non ho capito nulla dall'esempio che hai postato... 

    Diciamo che come prima cosa il valore della checkbox si controlla con il vbChecked 

    Seconda cosa, checkdx(1) che roba è ??? una funzione che restituisce un valore, oppure un array... o che altro dovrebbe rappresentare ???

    Boh... non si capisce nulla.

  • Re: Gestione due checkbox

    Fermo restando quanto ti hanno suggerito, se il metodo è sul click prima esegue il metodo e poi si setta il valore del check (true / false).

    se il check non ha la spunta:

    al click esegue sempre il codice poi il default, quindi succede questo: 

    la spunta non c'e' >>> click  >>> esegue il codice >>> mette la spunta

    tu scrivi che se  check1.value=true (ma si trova su false) then fai qualcosa...

    poi esegue il default >>>check1.Cheched

    tu vedi la spunta ma non esegue il codice.

    al secondo click:

    click>> la spunta è su true e esegue il codice

    se  check1.value=true (ora si trova su True) then fai qualcosa...

    poi esegue il default 

    check1.Cheched=false

    tu non vedi la spunta ma  esegue il codice.

    il codice lo devi mettere sul metodo change (o non so se si chiama CausesValidation) che si attiva appena cambia da true a false e viceversa, legge se flaggato o no ed esegue di conseguenza

  • Re: Gestione due checkbox

    Praticamente ho 6 textbox che sono le 6 giocatrici in campo e, a seconda del numero dei liberi, appaiono uno o due checkbox. Quando clicco sulla checkbox di uno dei due liberi il numero contenuto in quella textbox viene inserito in un array checkdx. Siccome i liberi possono entrare e uscire senza problema e alternarsi devo fare in modo che se la checkbox1 viene cliccata salva il numero del giocatore e lo cambia con il suo. E fin qui tutto ok

    Il problema nasce quando entra il secondo libero sul primo. Devo fare due click per vedere la seconda checkbox flaggata. Il codice l'ho inserito sul metodo click ora provo a inserirlo sul metodo change

  • Re: Gestione due checkbox

    Renato, se non vuoi mostrare il codice che ti è stato già richiesto, mi sembra inutile continuare a rispondere. Buon lavoro

  • Re: Gestione due checkbox

    Non capisco. Il codice l'ho inserito

    If check.value = true then  ' controllo se il check è stato attivato

    Text7.text=text15.text ' modifico il numero di maglia

    Else

    Text7.text=checkdx(1) 'se il check non è selezionato reinserisco il numero originale

    End if 

    Il mio problema è che quando clicco sulla seconda checkbox ci vogliono due click. Uno per togliere il "baffo" alla prima checkbox e il secondo per selezionare la seconda checkbox. Il tutto è dentro il metodo check1.click perché non esiste, con vb6, il metodo click1.change

  • Re: Gestione due checkbox

    Per la seconda checkbox è uguale

    If check2.value=1 then

    Text7.text=text16.text ' è il numero del secondo libero

    Else

    Text7.text=checkdx(1)

    End if 

    Come faccio ad usare i tagli code?

  • Re: Gestione due checkbox

    Scusa, ma ti viene difficile copiare e incollare tutto il codice? 

    Sarà tipo questo ? (per il TAG CODE usa il tasto <> dell'editor dei messaggi del forum)

    Provate Sub Check1_Click()
    	If Check.value = True then  ' controllo se il check è stato attivato
    		Text7.text=text15.text ' modifico il numero di maglia
    	Else
    		Text7.text=checkdx(1) 'se il check non è selezionato reinserisco il numero originale
    	End if 
    End Sub
    
    Provate Sub Check2_Click()
    	If Check2.value = True then
    		Text7.text=text16.text ' è il numero del secondo libero
    	Else
    		Text7.text=checkdx(1)
    	End if 
    End Sub

    Ancora non ci hai fatto capire molto.

    Forse deve essere abilitato SOLO UNO dei vari Check nello stesso momento? Ovvero quando uno è attivo, gli altri devono essere disattivati?

    Forse avresti dovuto usare degli Option Button?

  • Re: Gestione due checkbox

    Esatto Oregon è quello che ho scritto io. Non sapevo che si poteva copiare ed incollare il tutto. Credevo di doverlo scrivere in questo ambiente. Comunque quello che mi serve è che quando una checkbox è selezionata l'altra deve essere deselezionata

     Ho provato con option bottone e funziona perfettamente ma l'unico problema è che non so come disattivarli entrambi per simulare il fatto che il libero è uscito ed è rientrato il giocatore iniziale che io ho messo nell'area checkdx(1). Comunque credo di non essere in grado di risolvere il problema e passerò ad utilizzare tre commando. Non è bello a vedersi ma devo fare il tutto entro domenica pomeriggio. Grazie a tutti Comunque senza di voi non avrei mai finito questo lavoro. Praticamente ho generato un referto della partita uguale a quello cartaceo che deve fare il refertista. 

    Però se ci fosse modo di usare le checkbox .....

  • Re: Gestione due checkbox

    13/03/2025 - renato ha scritto:

    Non sapevo che si poteva copiare ed incollare il tutto. 

    Ora lo sai, nei prossimi messaggi usa questa modo per postare il codice. Sarà tutto più chiaro.

     Ho provato con option bottone e funziona 

    Allora usa gli Optopm Button.

    Per risolvere il problema, metti gli Option Button in un Frame e utilizza un solo Chcekbox per abilitare/disabilitare il Frame.

    In questo modo, usi il singolo Check che quando è disabilitato ti permette di assegnare il valore di checkdx(1), mentre se è abilitato, permette di scegliere dagli Option Button.

    Non è difficile, lo fai in 5 minuti.

  • Re: Gestione due checkbox

    No non funziona perché ci può essere il caso in cui il secondo libero entra al posto del primo libero. Io vorrei che se clicco sul primo si cambia il numero, se clicco sul secondo il primo si disattiva. Solo in caso in cui entrambi sono disattivati il numero torna ad essere il primo

    Es. Giocatore titolare numero 10

    Primo libero numero 20

    Secondo libero numero 30

    Se clicco il numero diventa 20, se clicco sull'altro diventa 30 se escludo entrambi torna 10

  • Re: Gestione due checkbox

    13/03/2025 - renato ha scritto:

    No non funziona perché ci può essere il caso in cui il secondo libero entra al posto del primo libero. Io vorrei che se clicco sul primo si cambia il numero, se clicco sul secondo il primo si disattiva. Solo in caso in cui entrambi sono disattivati il numero torna ad essere il primo

    Se le regole non sono chiare, perdiamo tutti tempo

  • Re: Gestione due checkbox

    Niente credo che la soluzione migliore siano i tre command: uno per il libero1, uno per il libero2 e uno per reimpostare il primo giocatore. Se gli va bene alla società bebè altrimenti si rivolgono ad una software house che gli fa il programma che desiderano. Io sono un semplice autodidatta. Grazie ancora a tutti

  • Re: Gestione due checkbox

    13/03/2025 - renato ha scritto:

    Es. Giocatore titolare numero 10

    Primo libero numero 20

    Secondo libero numero 30

    Se clicco il numero diventa 20, se clicco sull'altro diventa 30

    Se clikki cosa?

    Quante check hai?

    Per quello che vuoi fare puoi usare anche le foto dei giocatori o dei cerchi colorati non necessariamente delle checkbox.

    Se clikki chkbx1

    Vuoi che il giocatore 10 venga sostituito dal giocatore 20?

    Riclikki su chkbx1 e sostituisci il 20 col 30?

Devi accedere o registrarti per scrivere nel forum
17 risposte