Evento click inibisce evento doppioclick su listbox

di il
5 risposte

Evento click inibisce evento doppioclick su listbox

Ciao

come da oggetto.
Ho una listbox con alcuni valori inseriti.
Ho associato all'evento doppio click l'apertura di un form e tutto funziona
in un secondo momento ho associato all'evento click l'aggiornamento di un controllo webbrowser.
Ora il webbrowser si aggiorna mentre non c'è verso di aprire il form con il doppio click

Qual'è la spiegazione?

5 Risposte

  • Re: Evento click inibisce evento doppioclick su listbox

    La spiegazione non esiste... nel senso che probabilmente la gestione di 2 EVENTI come questi in modo contemporaneo, potrebbe dare problemi... ad esempio se l'aggiornamento del WEBBROWSER non viene eseguito a Tempo=0 il primo CLICK genera l'aggiornamento ed il 2° Click viene perso...

    Per questo si dovrebbe usare sempre l'evento DOPO_AGGIORNAMENTO al posto del CLICK, anche perchè non vorrai aggiornare il Browser ogni volta che premi CLICK sullo stesso ITEM...?
  • Re: Evento click inibisce evento doppioclick su listbox

    Ho sostituito l'evento click con l'afterupdate
    mi sembra che il comportamento sia il medesimo però.
    non rileva il secondo click
    aggiorna il webbrowser anche se clicco lo stesso item

    non è un problema che lo aggiorni visto che il controllo webbrowser lo uso solo x visualizzare un file pdf
  • Re: Evento click inibisce evento doppioclick su listbox

    In quello che dici ci sono molte contraddizioni...

    L'evento AfterUpdate non si genera 2 volte se l'ITEM selezionato è il medesimo, quindi non è possibile che il controllo Browser venga riaggiornato...
    Hai rimosso il codice dell'evento CLICK...? deve esserci solo quello su AFTER_UPDATE e DoppioClick...!!!!!!!
  • Re: Evento click inibisce evento doppioclick su listbox

    A me risulta così...
    Per togliermi ogni dubbio ho creato un db nuovo con una tabella e una maschera vuota con una listbox. Associato poi la listbox alla tabella.
    all'evento afterupdate sulla listbox -> debug.print "Click"
    all'evento dblclick sulla listbox -> debug.print "Doppioclick"

    Leggo "click" a ogni click sulla listbox.. che clicchi sullo stesso o su un altro item
    Leggo doppio click a ogni doppioclick sulla listbox
  • Re: Evento click inibisce evento doppioclick su listbox

    Si hai ragione... e ti confermo che sia l'evento CLICK che AFTERUPDATE comprono il DOUBLECLICK.

    Ti propongo questa variante che ho provato e funziona
    Ipotizzo che la ListBox abbia come Colonna Associata un campo PK di Tipo Counter(Long) ma puoi modificare facilmente la variabile che uso per memorizzare il codice.
    
    Option Compare Database
    Option Explicit
    
    ' Questa è la Variabile da modificare a seconda della BoundColumn
    Dim oldlngID   As Long
    
    Private Sub NomeListBox_AfterUpdate()
        oldlngID = Me.NomeListBox.Value
        MsgBox "DOPOAGG"
    End Sub
    
    Private Sub NomeListBox_BeforeUpdate(Cancel As Integer)
        Cancel = (Me.NomeListBox.Value = oldlngID)
    End Sub
    
    Private Sub NomeListBox_DblClick(Cancel As Integer)
        MsgBox "DOPPIOCLICK"
    End Sub
    Da verifica l'evento AFTER_UPDATE si verifica solo alla 1° volta che viene selezionato un NUOVO ITEM, poi su quell'ITEM viene attivato il DOPPIOCLICK se lo esegui... per il fatto che annullo il BeforeUpdate, quindi di conseguenza si eliminano AFTER e CLICK...
Devi accedere o registrarti per scrivere nel forum
5 risposte