[Vb.net] ListView con Checkbox

martedì 19 ottobre 2004 - 17.06

Andy Profilo | Senior Member

Ciao a tutti...piccolo problema con listview.

Inserisco in una Listview un elenco di elementi con Checkbox, di cui testo il cambiamento di stato con l'evento "itemCheck", e fin qui tutto ok.

Mi sono accorto però che, anche all'apertura della Form, al momento dell'inserimento degli elementi nella lista, che imposto x default come "Checked" l'evento mi si "scatena" per ogni elemento, continuando ad eseguire tutto il codice presente sotto l'evento "ItemCheck"..

Come poso evitare cio? Come posso "capire" che non è in inserimento ma effettivamente il cambiamento della checkbox è avvenuto SOLAMENTE tramite il click del mouse?

Grazie per l'attenzione..

alextyx Profilo | Expert

Premesso che nn escludo esistano metodi più puliti, se il problema ti si crea al momento del riempimento del listview, nn ti converrebbe inserire un flag all'inizio della routine dell'evento, con la funzione di fartela abortire subito finchè nn hai finito di inserire gli item del listview?

Andy Profilo | Senior Member

..esato, proprio quello che pensavo io..una flag che setto a "true" nel form.load, e risetto a "false"...

quando?

Era questa la mia domanda...

Ciao

alextyx Profilo | Expert

Da qualche parte avrai un additem, o un ciclo di additem, presumo, io manovrerei opportunamente questa flag, appena prima e appena dopo l'istruzione, o il ciclo, di aggiunta dei nuovi item. O la faccio troppo semplice?

Andy Profilo | Senior Member

Ciao Alextyx, effettivamente non era così semplice, in quanto nella mia form non ho la lista in primo piano ma ho 2 tabcontrol, di cui solo il secondo tab contenente la lista.
Il problema si verificava non all'inserimento degli elementi con checkbox in lista, ma alla sua prima "visualizzazione", ossia al primo passaggio alla tab2.

Comunque ho risolto settando la flag nell'evento Paint del tab.

Grazie mille...

Ciao

alextyx Profilo | Expert

Beh...tutto è bene quel che finisce bene! :-)
Ciao.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5