การเลื่อนด้วยล้อเลื่อนของเมาส์ไม่สอดคล้องกับเค้าโครงตารางสองแผง

ฉันมีแผงเค้าโครงตารางสองแผงเคียงข้างกัน กิจกรรมการเลื่อนของทั้งสองแผงเชื่อมโยงกัน ดังนั้นผู้ใช้จึงเลื่อนรายการหนึ่งและรายการอื่นด้วย มันใช้งานได้ดี:

Private Sub Layout_SidePanel_Scroll(sender As Object, e As ScrollEventArgs) Handles Layout_SidePanel.Scroll

    If e.ScrollOrientation = ScrollOrientation.VerticalScroll Then
        'make the other panel scroll too
        Layout_Main.VerticalScroll.Value = Layout_SidePanel.VerticalScroll.Value

    End If
End Sub

Private Sub Layout_Main_Scroll(sender As Object, e As ScrollEventArgs) Handles Layout_Main.Scroll

    If e.ScrollOrientation = ScrollOrientation.VerticalScroll Then
        'make the other panel scroll too
        Layout_SidePanel.VerticalScroll.Value = Layout_Main.VerticalScroll.Value
    End If

End Sub

อย่างไรก็ตาม เมื่อผู้ใช้ใช้ล้อเลื่อนของเมาส์เพื่อเลื่อน มันก็ไม่ได้ผลดีนัก ด้านหนึ่งจะเลื่อนและไม่อีกด้านหนึ่ง หรืออันหนึ่งจะเลื่อนมากกว่าอันอื่นเล็กน้อย ฉันได้ตรวจสอบค่าการเลื่อนแนวตั้งของทั้งสองแผงแล้ว และพบว่าค่าเหล่านี้ไม่ตรงกัน ฉันจำเป็นต้องให้การเลื่อนทำงานอย่างต่อเนื่องหรือปิดใช้งานการเลื่อนแบบล้อเลื่อนของเมาส์ นี่คือรหัสของฉันสำหรับจัดกิจกรรม mousewheel:

     Private Sub Layout_Main_MouseWheel(sender As Object, e As MouseEventArgs) Handles Layout_Main.MouseWheel

    Layout_SidePanel.VerticalScroll.Value = Layout_Main.VerticalScroll.Value

End Sub

Private Sub Layout_Sidepanel_MouseWheel(sender As Object, e As MouseEventArgs) Handles Layout_SidePanel.MouseWheel

    Layout_Main.VerticalScroll.Value = Layout_SidePanel.VerticalScroll.Value

End Sub

person DovesandChicks    schedule 24.02.2015    source แหล่งที่มา


คำตอบ (1)


พบมัน!

https://stackoverflow.com/a/5565804/3953342

ฉันต้องรวม .PerformLayout

Layout_SidePanel.VerticalScroll.Value = Layout_Calendar.VerticalScroll.Value
Layout_SidePanel.PerformLayout()
person DovesandChicks    schedule 24.02.2015