Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Come ottenere l'index dell'ultimo elemento visualizzato di una ListVie...
venerdì 29 aprile 2005 - 15.10
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
gianp
Profilo
| Junior Member
91
messaggi | Data Invio:
ven 29 apr 2005 - 15:10
Ciao a tutti.
Il mio scopo è sincronizzare lo scrolling di 2 ListView per farlo ho bisogno di ottenere l'index dell'ultimo dei ListViewItem visualizzato (non l'ultimo in assoluto ma l'ultimo a video).
La necessita di tale index consiste passare tale index alla EnsureVisible dopo aver catturato l'evento di scroll.
Per ottenere l'index del primo elemento (visibile a video) di una ListView si usa ListViewName.TopItem
Non esiste il corripondente per ottenere l'index dell'ultimo dei ListViewItem visualizzati.
Qualcuno saprebbe indicarmi un meccanismo efficace?
Grazie a tutti.
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
ven 29 apr 2005 - 15:32
Ciao..se le dimensioni della tua lista non cambiano, e in fase di progettazione riesci a vedere quanti elementi visualizza la tua lista, l'ultimo sarà:
ListViewName.TopItem+Numero_elementi_visibili
..non è il massimo ma in mancanza di meglio..
gianp
Profilo
| Junior Member
91
messaggi | Data Invio:
ven 29 apr 2005 - 15:45
Ciao.
Ho già adottato questa soluzione facendo in modo che il controllo non si possa ridimensionare in nessun modo; ma questa è solo una pezza, infatti vorrei che il ridimensionamento fasse possibile e per farlo ho bisogno di sapere qual'è l'ultimo elemento visibile della ListView.
Grazie comunque per il suggerimento.
martinmystero
Profilo
| Newbie
22
messaggi | Data Invio:
ven 29 apr 2005 - 18:29
Ciao,
allora da quello che ho capito, tu hai bisogno di sapere qual'è l'ultimo valore (index) visualizzato su una listview ancorata (ridimensionabile). Puoi usare un piccolo stratagemma che ti permette di sapere (calcolare) il numero esatto di elementi visibili su una listview.
Questo calcolo si basa su una listview standard senza modificare nessun parametro relativo alle caratteristiche del testo, in caso contrario dovrai fare le modifiche del caso.
ListView1.Height = 22 + (14 * NumElemIniziali)
Il valore 22 è l'altezza dell'intestazione delle colonne, 14 è l'altezza di ogni singola riga. Quindi se vuoi inizialmente che ci siano 10 elementi impostati fai:
ListView1.Height = 22 + (14 * 10)
Per recuperare invece il numero di elementi presenti in caso di 'espansione' della listview basta che richiami la funzione
Public Function GetLastItem() As Integer
Dim x As Integer = ListView1.Height
Return ((x - 22) / 14)
End Function
Spero di aver capito bene la tua richiesta... in caso fammi sapere...
ciao
;)
gianp
Profilo
| Junior Member
91
messaggi | Data Invio:
lun 2 mag 2005 - 14:28
Ok così mi funziona.
Grazie 1000
Torna su
Stanze Forum
Elenco Threads
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 !