Gestione Listbox

lunedì 01 febbraio 2010 - 20.12

DkSw Profilo | Junior Member

Sera a tutti!
Vorrei poter fare 2 cose con una checked listbox di vb2008:

- Spostare gli item contenuti con il mouse.
Esempio: ho 3 elementi e tenendo cliccato con il mouse il terzo elemento, e trascinandodolo sulla posizione dove si trova il primo, causare lo spostamento del terzo in prima posizione e degli altri 2 in seconda e terza posizione.

- Cliccando sull'area vuota della listbox, causare la deselezione dell'elemento selezionato.

Qualcuno può aiutarmi?

tonyexpo Profilo | Senior Member

Ciao

per deselezionare, dovresti intercettare l'evento click e eventualmente impostare <listbox>.SelectedIndex=-1


per il drag&drop devi appunto implementarlo.....
http://msdn.microsoft.com/en-us/library/ms742859.aspx#Data_and_Data_Objects


se hai problemi con l'articolo MSDN vedrò di farti un esempio appena possibile
ciao

Antonio Esposito
MCTS, MCP

http://blogs.dotnethell.it/espositos

DkSw Profilo | Junior Member

Grazie, per l'aiuto!
Ho provato come mi hai suggerito, ma per farlo andare ho dovuto modificarlo un attimo...che ne pensi di questo codice per deselezionare?

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Per funzionare, funzia, ma è scritto in maniera appropriata?

E per il drag & drop dovrei utilizzare la stessa tecnica "lstNote.IndexFromPoint(e.Location)" negli eventi drag enter e drag leave per identificare gli indici degli item coinvolti e poi spostarli?
Se hai tempo per postare un esempio ti ringrazio!

tonyexpo Profilo | Senior Member

ciao :)



bè, se non è ambiguo, cioè ti torna sempre l'elemento corretto è ok


a presto

Antonio Esposito
MCTS, MCP

http://blogs.dotnethell.it/espositos

DkSw Profilo | Junior Member

-

DkSw Profilo | Junior Member

Ciao, eccomi dopo un paio di prove.
Il codice seguente dovrebbe gestirmi sia il drag&drop, sia la deselezione.
Il problema è che sporadicamente, apparentemente a caso, parte un'eccezione durante lo spostamento di un elemento, ma
soprattutto mi crea problemi nel clicckare i ckeckbox nella checked-listbox, dovuto sicuramente all'evento mousedown.
Mi daresti una mano a sistemarlo?


Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5