03/06/12 9:13
Dark_light
Se avessi cercato su google " Sync Scrolling of Two Listboxes" avresti trovato molti risultati attinenti al tuo problema.
Cito Carmelo La Monica in una domanda fatta su msdn:
1 - Crea un nuovo progetto WindowsForm.
2 - Aggiungi una nuova Classe e la chiami MyListBox.
4 - Copi al suo interno la prima parte di codice.
Public Class MyListbox
Inherits ListBox
Public Event Scroll(ByRef m As Message)
Private Const WM_VSCROLL As Integer = &H115
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = WM_VSCROLL Then RaiseEvent Scroll(m)
MyBase.WndProc(m)
End Sub
End Class
5 - Dal menu "Compila" scegli "Compila" o premi il tasto F6.
A questo punto se guardi nella casella degli strumenti avrai un componente chiamato myListBox , e in esplora soluzioni un componenete personalizzato chiamato myListBox.
6 - Nella Classe Form1 inserisci la seconda parte di codice che gestisce lo scroll delle due lisiBox.
Public Class Form1
Private Declare Auto Function SendMessage Lib "user32.dll" (ByVal hdl As IntPtr, ByVal msg As Integer, ByVal wp As IntPtr, ByVal lp As IntPtr) As IntPtr
Private Sub MyListbox1_Scroll(ByRef m As System.Windows.Forms.Message) Handles MyListbox1.Scroll
SendMessage(MyListbox2.Handle, m.Msg, m.WParam, m.LParam)
End Sub
End Class
7 - Aggiungi selezionando dalla casella degli strumenti il nuovo controllo e ne inserisci due; uno di fianco all'altro o dove preferisci , ricorda che dei due controlli è myListBox1 a comandare lo scroll di myListBox2.
8 - Inserisci degli items al loro interno in modo da poter eseguire lo scroll con la barra varticale e compila ed esegui il debug.
A questo punto se selezioni la barra di scorrimento su myListBox1 , myListBox2 deve essere sincronizzato con myListBox1.
link:
social.msdn.microsoft.com/Forums/it-IT/visualbasicit/thread/…
Ciao
Ultima modifica effettuata da Dark_light 03/06/12 9:15
aaa