在 tabPage 控件中动态垂直滚动
Scroll vertical dynamically in tabPage control
在我相对简单的项目中,我有一个两页的 tabControl。 tabPage2 由动态创建的图片框(缩略图,pic_XXX)组成。 tabPage2 是固定大小的,启用了 AutoScroll。
在 tabPage1 上,除其他外,我可以搜索给定名称 (pic_XXX)。当我切换到 tabPage2 时,我希望它被滚动,所以 pic_XXX 所在的行是可见的。在 tabPage2 中手动滚动是有效的。
我正在努力动态滚动 tabPage2 来完成此操作。以下解决方案引发异常:
Dim pos As Point = tabPage2.Controls.Item("pic_" & imgNum).Location
tabPage2.VerticalScroll.Value = pos.Y
tabPage2.refresh()
我运行没主意了!?
那么如何将指定的子控件滚动到启用自动滚动的控件的视图中?
You should use method .ScrollControlIntoView( [Control] )
tabPage2.ScrollControlIntoView(tabPage2.Controls.Item("pic_" & imgNum) )
您问题的答案:
Dim pos As Point = tabPage2.Controls.Item("pic_" & imgNum).Location
tabPage2.VerticalScroll.Maximum = tabPage2.Height
tabPage2.VerticalScroll.Value = pos.Y
tabPage2.PerformLayout()
You have to call .PerformLayout() to make the scrolling control update.
在我相对简单的项目中,我有一个两页的 tabControl。 tabPage2 由动态创建的图片框(缩略图,pic_XXX)组成。 tabPage2 是固定大小的,启用了 AutoScroll。
在 tabPage1 上,除其他外,我可以搜索给定名称 (pic_XXX)。当我切换到 tabPage2 时,我希望它被滚动,所以 pic_XXX 所在的行是可见的。在 tabPage2 中手动滚动是有效的。
我正在努力动态滚动 tabPage2 来完成此操作。以下解决方案引发异常:
Dim pos As Point = tabPage2.Controls.Item("pic_" & imgNum).Location
tabPage2.VerticalScroll.Value = pos.Y
tabPage2.refresh()
我运行没主意了!?
那么如何将指定的子控件滚动到启用自动滚动的控件的视图中?
You should use method .ScrollControlIntoView( [Control] )
tabPage2.ScrollControlIntoView(tabPage2.Controls.Item("pic_" & imgNum) )
您问题的答案:
Dim pos As Point = tabPage2.Controls.Item("pic_" & imgNum).Location
tabPage2.VerticalScroll.Maximum = tabPage2.Height
tabPage2.VerticalScroll.Value = pos.Y
tabPage2.PerformLayout()
You have to call .PerformLayout() to make the scrolling control update.