Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [VB.NET] TreeView check su nodo deselezionato

    Ciao a tutti,
    ho inserito un bottone per cancellare il NODO selezionato nel mio TreeView e vorrei che questo bottone si attivasse quando è stato selezionato un nodo e si DISATTIVASSE quando nessun nodo è selezionato.

    Per la prima parte tutto bene, perchè intercetto l'evento "NodeMouseClick" del mio TreeView e faccio attivare il bottone.

    Il problema è disattivarlo! Quale evento dovrei usare?

    Ho provato con "LostFocus" ma non funziona perchè il bottone si deseleziona comunque premendolo (il TreeView perde il focus!).

    In pratica quello che credo di dover fare è questo: far deselezionare il nodo selezionato quando l'utente clicca da altre parti fuori dal TreeView, ma non sono capace!


    Qualche suggerimento a proposito?

    Grazie mille.
    Igor
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,537
    se usi l'evento System.Windows.Forms.TreeView.AfterCheck ? e quando esci da treeview disabiliti il bottone


    mi spiego meglio:

    quando cambi il valore del check abiliti o disabiliti il bottone (cosi mi pare di capire che ti senva) e quando esci dal treeview (o meglio dal controllo che conterrà la treeview e il bottone, dissabiliti quest'ultimo.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    168

    Re: [VB.NET] TreeView check su nodo deselezionato

    Originariamente inviato da Igor Baldacci
    Ciao a tutti,
    ho inserito un bottone per cancellare il NODO selezionato nel mio TreeView e vorrei che questo bottone si attivasse quando è stato selezionato un nodo e si DISATTIVASSE quando nessun nodo è selezionato.

    Per la prima parte tutto bene, perchè intercetto l'evento "NodeMouseClick" del mio TreeView e faccio attivare il bottone.

    Il problema è disattivarlo! Quale evento dovrei usare?

    Ho provato con "LostFocus" ma non funziona perchè il bottone si deseleziona comunque premendolo (il TreeView perde il focus!).

    In pratica quello che credo di dover fare è questo: far deselezionare il nodo selezionato quando l'utente clicca da altre parti fuori dal TreeView, ma non sono capace!


    Qualche suggerimento a proposito?

    Grazie mille.
    Igor
    Scusa metti alla fine del click del bottone this.bottone.visible = false e lo attivi solo quando selezioni un nodo. Non si capisce molto quale sia il problema

  4. #4
    Detta in parole povere il problema è che il nodo mi rimane selezionato anche quando il TreeView perde il focus (e uso altri comandi nella finestra), quindi il bottone cancella mi rimane attivo sempre e potrei premerlo cancellando l'ultimo nodo selezionato.

    Però l'idea di disattivare il button dopo l'evento click mi pare una bella soluzione.
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    168
    Originariamente inviato da Igor Baldacci
    Detta in parole povere il problema è che il nodo mi rimane selezionato anche quando il TreeView perde il focus (e uso altri comandi nella finestra), quindi il bottone cancella mi rimane attivo sempre e potrei premerlo cancellando l'ultimo nodo selezionato.

    Però l'idea di disattivare il button dopo l'evento click mi pare una bella soluzione.
    Prova come ti ho detto altrimenti dovresti catturare l'evento click sulla form e dare il focus ad essa...Ma secondo me è meglio come ti ho detto prima...

  6. #6
    Ci ho provato ma non va bene purtroppo.

    Cerco di spiegare perchè: quando clicco su un nodo, il bottone diventa attivo e da questo momento in poi lo sarà sempre. Se clicco su questo bottone per cancellare il nodo posso disattivare il bottone alla fine della procedura di delete (come dici tu) e ok.
    Ma se NON clicco sul button questo rimane SEMPREattivo e non va bene. Infatti, se l'utente continua a usare il resto dei contenuti il button delete continua comunque ad essere attivo e se dopo mezz'ora (dopo cioè che ha fatto mille altre cose) lo va a premere (anche accidentalmente) questo funzionerà sempre.

    L'ideale quindi è trovare UN MODO per far disattivare questo bottone quando il nodo è deselezionato, ovvero APPENA l'utente clicca da tutt'altra parte del form che non sia il TreeNode.

    L'idea di mettere "delButton.Enabled = False" su TUTTI GLI ALTRI controlli mi sembra fuori luogo...

    Tu cos'altro mi suggerivi che non ho capito bene?

    (Comunque grazie mille per la dispo!)
    Igor
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  7. #7
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,537
    Originariamente inviato da Igor Baldacci
    Ci ho provato ma non va bene purtroppo.

    Cerco di spiegare perchè: quando clicco su un nodo, il bottone diventa attivo e da questo momento in poi lo sarà sempre. Se clicco su questo bottone per cancellare il nodo posso disattivare il bottone alla fine della procedura di delete (come dici tu) e ok.
    Ma se NON clicco sul button questo rimane SEMPREattivo e non va bene. Infatti, se l'utente continua a usare il resto dei contenuti il button delete continua comunque ad essere attivo e se dopo mezz'ora (dopo cioè che ha fatto mille altre cose) lo va a premere (anche accidentalmente) questo funzionerà sempre.

    L'ideale quindi è trovare UN MODO per far disattivare questo bottone quando il nodo è deselezionato, ovvero APPENA l'utente clicca da tutt'altra parte del form che non sia il TreeNode.

    L'idea di mettere "delButton.Enabled = False" su TUTTI GLI ALTRI controlli mi sembra fuori luogo...

    Tu cos'altro mi suggerivi che non ho capito bene?

    (Comunque grazie mille per la dispo!)
    Igor
    scusa ma perchè non ci mostri il codice?
    cosi' ci capiamo meglio.

  8. #8
    oddio... non saprei proprio che codice mostrarti, dovrei postare l'intero programma, il problema non è di codice ma di metodologia.

    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  9. #9
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,537
    Ok, io sono un po duro di comprendonio a volte


    allora metti la treeview dentro un pannel o qualche altro contenitore insieme al bottone, quando con il mouse esci da questo contenitore puoi o deselezionare il nodo e/o disabilitare il bottone. cosi' facendo se esci dalla treeview ma sei ancora in area del bottone puoi cliccarlo diversamente se esci dall'area treeview + button (il contenitore insomma) no.

    non so se sono stato chiaro

  10. #10
    sei stato CHIARISSIMO!!!
    E penso proprio che sia una grande idea!

    Grazie. Provo subito!

    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

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 © 2025 vBulletin Solutions, Inc. All rights reserved.