vb滚动条事件

来源:百度知道 编辑:UC知道 时间:2024/05/21 14:57:51
Private Sub vsflexgrid1_afterScroll(ByVal oldTopRow As Long, ByVal oldLeftCol As Long, ByVal NewTopRow As Long, ByVal NewLeftCol As Long)
If NewTopRow <> oldTopRow Then
Me.vsflexgrid2.TopRow = NewTopRow - 1
End If
If NewLeftCol <> oldLeftCol Then
'NewLeftCol = Me.vfg2.LeftCol
Me.vsflexgrid2.LeftCol = NewLeftCol - 1
End If
End Sub

各位大侠,这个是两个滚动条同时动的一个代码,现在的问题是,当vsflexgrid1的滚动条必vsflexgrid2长的时候,vsflexgrid1的滚动条都到底部了,而vsflexgrid2的滚动条还到不了底部~~这个问题怎么解决!!各位大哥帮忙!!!谢谢!!!!
怎么定义~提示一下~?~

定义一个百分比共有变量,用百分去和他们的滚动条值相乘就可以了

补充:~~~无语了~~
Private signbar as integer '如果在一个类里可以用私有定义
Private Sub vsflexgrid1_afterScroll(ByVal oldTopRow As Long, ByVal oldLeftCol As Long, ByVal NewTopRow As Long, ByVal NewLeftCol As Long)
If NewTopRow <> oldTopRow Then
signbar=round((NewTopRow - oldTopRow)*100/oldTopRow)
Me.vsflexgrid2.TopRow = Me.vsflexgrid2.TopRow*(signbar/100)
End If
If NewLeftCol <> oldLeftCol Then
'NewLeftCol = Me.vfg2.LeftCol
signbar=round((NewLeftCol - oldLeftCol)*100/oldLeftCol)
Me.vsflexgrid2.LeftCol = Me.vsflexgrid2.LeftCol*(signbar/100)
End If
End Sub