Uso la versione di enterprize VB6. Come si fa a collegare le barre vscroll per le caselle di riepilogo adiacenti in modo che, se si scorre uno, le altre due scorrono anche in alto e in basso? L'obiettivo è di mantenere affiancate le informazioni visualizzate negli elenchi. Ho provato a impostare la proprietà listindex degli altri due elenchi uguale al listindex del primo utilizzando l'evento click. Funziona dopo una moda, ma è una soluzione tutt'altro che ideale. Se si fa clic su un elemento nel primo elenco, gli elenchi degli altri due appaiono sullo schermo, ma non sono realmente collegati o visualizzati fianco a fianco. Ho notato un evento di scorrimento ma non riesco a trovare alcun materiale su come utilizzare questo evento in nessuno dei miei libri VB. Qualsiasi aiuto sarebbe apprezzato.Collegamento di barre di scorrimento su elenchi di caselle adiacenti insieme
risposta
Gestire il scroll event per le liste. Questo sparerà ogni volta che la casella di riepilogo viene scorsa.
Nel gestore eventi, impostare TopIndex property per gli altri elenchi di caselle uguale a TopIndex della casella di riepilogo a scorrimento.
Ho trovato questo codice per 2 listbox su un newsgroup post. Una variabile a livello di modulo viene utilizzata per impedire la ricorsione: l'impostazione di TopIndex dal codice potrebbe generare nuovamente l'evento di scorrimento.
Dim m_NoScroll As Boolean ''module-level flag var
Private Sub List1_Scroll()
If Not m_NoScroll Then
m_NoScroll = True
List2.TopIndex = List1.TopIndex
m_NoScroll = False
End If
End Sub
Private Sub List2_Scroll()
If Not m_NoScroll Then
m_NoScroll = True
List1.TopIndex = List2.TopIndex
m_NoScroll = False
End If
End Sub
Grazie MarkJ! Inserito il codice, cambiato i nomi delle liste e il mio e lo ha eseguito. Funziona come un fascino! – user512163
Concettualmente, si dovrebbe essere in grado di entrambi assegnare lo stesso modello di dati, e quando gli aggiornamenti modello, essi saranno entrambi aggiornamento. Non dare questa risposta come risposta perché non risponde direttamente alla domanda che hai posto. –
Non specifico per vb6, ma nel caso qualcuno venga da questo thread alla ricerca di una soluzione .NET, http://social.msdn.microsoft.com/Forums/en/Vsexpressvcs/thread/46d8cba4-1266-4f39-a27b-5e86a4cf3583 –