16,721
社区成员




Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For i = 1 To 20
Dim vscr = New VScrollBar()
With vscr
.Left = i * 30 + 20
.Width = 20
.Height = Panel1.Height - 80
.Top = 40
.Name = "vs" & i
.Visible = True
.Maximum = 200
.Minimum = 0
.SmallChange = 1
.Value = Int(Math.Sin(2 * 3.1416 / 20 * i) * 50 + 100)
End With
Panel1.Controls.Add(vscr)
Next
VScrollBar1.Minimum = 0
VScrollBar1.Maximum = 200
VScrollBar1.SmallChange = 1
oldval = 100
VScrollBar1.Value = 100
End Sub
Private oldval As Integer
Private Sub VScrollBar1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VScrollBar1.ValueChanged
Dim vb1 As Integer = VScrollBar1.Value
For Each vs As VScrollBar In Panel1.Controls.OfType(Of VScrollBar)()
Dim newval As Integer = vb1 - oldval + vs.Value
If newval > vs.Maximum Then newval = vs.Maximum
If newval < vs.Minimum Then newval = vs.Minimum
vs.Value = newval
Next
oldval = VScrollBar1.Value
End Sub
End Class