0

好吧,我设计了一个表单来适应我使用的当前屏幕尺寸,表单有一个垂直滚动条,可以查看表单上更下方的项目。

在表单的底部,我有几个复选框,用户必须在单击提交按钮之前进行选择。

一旦用户点击提交按钮,用户就不能向上滚动到表单的开头。用户可以向上滚动,但是当他们停止滚动时,它会滚动到最后一个复选框被选中的底部。

我假设通过选中最后一个复选框来设置该控件的焦点?

关于如何解决滚动问题的任何建议?

4

1 回答 1

1

Keep a note of the last scroll position, and reapply it on Form_Activate

Try this:

'' Declare at form level
Private LastAutoScrollPos As System.Drawing.Point

Private Sub Form1_Activated(sender As Object, e As System.EventArgs) Handles Me.Activated
    Me.AutoScrollPosition = LastAutoScrollPos
End Sub

Private Sub Form1_Scroll(sender As Object, e As System.Windows.Forms.ScrollEventArgs) Handles Me.Scroll
    If e.ScrollOrientation = ScrollOrientation.VerticalScroll Then
        LastAutoScrollPos = New Point(LastAutoScrollPos.X, e.NewValue)
    ElseIf e.ScrollOrientation = ScrollOrientation.HorizontalScroll Then
        LastAutoScrollPos = New Point(e.NewValue, LastAutoScrollPos.Y)
    End If
End Sub
于 2013-04-29T22:46:23.500 回答