Blog Stats
  • Posts - 5
  • Articles - 0
  • Comments - 261
  • Trackbacks - 18

 

venerdì 24 ottobre 2003

Posizionarsi sull'item appena inserito in un controllo ListView

Più volte sui forum ho visto questa domanda .... come faccio in un controllo ListView a "scrollare" sull'ultimo item inserito ?

Ebbene io penso che si debba ricorrere ancora una volta al buon PINVOKE :

- Importiamo la SendMessage per poter inviare un messaggio al controllo ListView
[DllImport("User32.dll")]
private static extern bool SendMessage(IntPtr hwnd, UInt32 msg, UInt32 wParam, UInt32 lParam);

- definiamo due costanti, rispettivamente il WM_SCROLL e SB_BOTTOM
const System.Int32 WM_VSCROLL = 0x115;
const System.Int32 SB_BOTTOM = 0x7;

- inviamo al controllo ListView (disponendo della sua handle) il messaggio corretto
SendMessage(listView1.Handle, WM_VSCROLL, SB_BOTTOM , 0);

Mi piacerebbe essere contraddetto da qualcuno ... se qualcuno trovasse una soluzione senza passare attraverso PINVOKE !

La smentita è arrivata .... è proprio un periodaccio per me !
Bastava il metodo EnsureVisible ..........
come riportato in questo post :
http://www.ugidotnet.org/forum/default.asp?m=26433

 

 

Copyright © Stefano Magni