将相邻列表框上的滚动条链接在一起

时间:2010-11-18 13:39:41

标签: vb6

我使用VB6 enterprize版。 如何将相邻列表框的vscroll栏链接起来,以便如果滚动它们,另外两个也会上​​下滑动?目的是使信息并排显示在列表中。我尝试使用click事件将其他两个列表的listindex属性设置为等于第一个listindex。它以时尚的方式运作,但却不是理想的解决方案。如果单击第一个列表中的某个项目,则其他两个项目的listindex会出现在屏幕上,但它们并未真正链接或并排显示。 我注意到一个滚动事件,但在我的任何VB书籍中找不到任何关于使用此事件的matarial。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:5)

处理列表框的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