我们可以保留表单滚动条但阻止表单自动滚动到焦点控件吗?
Can we keep the Form scrollbar but prevent the form from auto-scrolling to the focused control?
我想防止我的表单在底部的控件获得焦点时自动滚动,但仍然保留滚动条(如果它们出现的话)。
由于某些用户的屏幕分辨率比表单分辨率稍低,因此有时会出现滚动条。这会导致某些 DataGridView 出现问题。由于启用了 AutoScroll
选项,当单击 DataGridView 时,它会进行多选,因为我们单击并移动。
当我禁用 AutoScroll
属性 时,滚动条消失了。因此,用户无法看到所有内容。
有没有办法禁用AutoScroll
,但仍然保留滚动条?
如果我对您的情况理解正确,您基本上希望用户能够手动滚动表单,但阻止表单自动滚动到获得焦点的控件。
将此代码放入您的表单中:
Protected Overrides Function ScrollToControl(activeControl As Control) As Point
'Return MyBase.ScrollToControl(activeControl) ' <-- Keep this line commented.
End Function
结果:
我想防止我的表单在底部的控件获得焦点时自动滚动,但仍然保留滚动条(如果它们出现的话)。
由于某些用户的屏幕分辨率比表单分辨率稍低,因此有时会出现滚动条。这会导致某些 DataGridView 出现问题。由于启用了 AutoScroll
选项,当单击 DataGridView 时,它会进行多选,因为我们单击并移动。
当我禁用 AutoScroll
属性 时,滚动条消失了。因此,用户无法看到所有内容。
有没有办法禁用AutoScroll
,但仍然保留滚动条?
如果我对您的情况理解正确,您基本上希望用户能够手动滚动表单,但阻止表单自动滚动到获得焦点的控件。
将此代码放入您的表单中:
Protected Overrides Function ScrollToControl(activeControl As Control) As Point
'Return MyBase.ScrollToControl(activeControl) ' <-- Keep this line commented.
End Function