2010-11-18 64 views
9

我使用VB6 enterprize版本。 如何去鏈接相鄰列表框的vscroll欄,以便如果一個人滾動,另外兩人也上下滑動?目標是將信息並排顯示在列表中。我嘗試使用click事件將其他兩個列表的listindex屬性設置爲與第一個listindex相等。它在時尚之後起作用,但並不是理想的解決方案。如果點擊第一個列表中的項目,其他兩個列表的索引確實出現在屏幕上,但它們並不真正鏈接或並排顯示。 我注意到一個滾動事件,但無法找到任何關於在我的任何VB書籍中使用此事件的事件。 任何幫助,將不勝感激。將相鄰列表框上的滾動條鏈接在一起

+0

從概念上講,您應該能夠將它們都分配給相同的數據模型,並且當模型更新時,它們都會更新。不要將此作爲答案,因爲它不直接回答您提出的問題。 – 2010-11-18 13:46:53

+0

不是vb6特有的,但如果有人通過此主題尋找.NET解決方案,請http://social.msdn.microsoft.com/Forums/en/Vsexpressvcs/thread/46d8cba4-1266-4f39-a27b-5e86a4cf3583 – 2010-11-18 14:31:06

回答

4

處理列表框的scroll event。這將在列表框滾動時觸發。

在事件處理程序中,將其他列表框的TopIndex property設置爲等於滾動列表框的TopIndex。

我在newsgroup post上找到了2個列表框的代碼。模塊級變量用於防止遞歸:從代碼設置TopIndex可能會再次觸發Scroll事件。

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 
+0

謝謝MarkJ!輸入代碼,將列表框名稱更改爲我自己的並運行它。奇蹟般有效! – user512163 2010-11-22 07:30:48