2010-11-18 1 views
9

私はVB6エンタープライズ版を使用しています。 隣接するリストボックスのvscrollバーをリンクすると、スクロールすると2つのスライドが上下にスライドするようになります。目的は、一覧に情報を並べて表示することです。私は、他の2つのリストのlistindexプロパティを、clickイベントを使って最初のlistindexと同じに設定しようとしました。それはファッションの後に動作しますが、理想的なソリューションではありません。最初のリストの項目をクリックすると、他の2つのリスト索引が画面に表示されますが、実際にはリンクされていません。 私はスクロールイベントに気付きましたが、私のVBブックでこのイベントを使用していても、何のマラリアルも見つけられませんでした。 ご協力いただければ幸いです。隣接するリストボックスにスクロールバーをリンクする

+0

概念的には、両方を同じデータモデルに割り当てることができます。モデルが更新されると、両方が更新されます。あなたが求めた質問に直接答えないので、これを答えとして与えないでください。 –

+0

vb6固有ではありませんが、誰かがこのスレッドで.NETソリューションを探している場合は、http://social.msdn.microsoft.com/Forums/en/Vsexpressvcs/thread/46d8cba4-1266-4f39-a27b-5e86a4cf3583 –

答えて

4

リストボックスのscroll eventを処理します。これは、リストボックスがスクロールされるたびに発生します。イベントハンドラで

は、スクロールリストボックスのTopIndexに等しい他のリストボックスのためTopIndex propertyを設定します。

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

関連する問題