好吧,我设计了一个表单来适应我使用的当前屏幕尺寸,表单有一个垂直滚动条,可以查看表单上更下方的项目。
在表单的底部,我有几个复选框,用户必须在单击提交按钮之前进行选择。
一旦用户点击提交按钮,用户就不能向上滚动到表单的开头。用户可以向上滚动,但是当他们停止滚动时,它会滚动到最后一个复选框被选中的底部。
我假设通过选中最后一个复选框来设置该控件的焦点?
关于如何解决滚动问题的任何建议?
好吧,我设计了一个表单来适应我使用的当前屏幕尺寸,表单有一个垂直滚动条,可以查看表单上更下方的项目。
在表单的底部,我有几个复选框,用户必须在单击提交按钮之前进行选择。
一旦用户点击提交按钮,用户就不能向上滚动到表单的开头。用户可以向上滚动,但是当他们停止滚动时,它会滚动到最后一个复选框被选中的底部。
我假设通过选中最后一个复选框来设置该控件的焦点?
关于如何解决滚动问题的任何建议?
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