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