vb垂直滚动条自动下滑

来源:百度知道 编辑:UC知道 时间:2024/06/05 08:42:35
背景:窗体上N多控件排成一竖排,由于很多,已经加了vscrollbar控件,手动滑动滑块可以实现滚动!
问题:因为我要让每个控件依次向下获得焦点(并且显示变色,以达到直观的目的),我想让鼠标不点击滚动条的情况下,让滚动条跟着获得焦点的控件一起向下滚动,也就是要实现获得焦点的控件自动向上滚动到窗体中间,该如何实现呢?请看明白了的朋友帮助解答,谢谢了!!!
所有按钮已经放在panel容器中!

不知你的所有按钮是否放在另一个容器中,最好将你的源码发给我,我好试试帮你解决

既然你已经实现了拖动VScroll变换控件坐标的功能,说明你正确的做到了根据VScroll.value的值计算控件坐标。
自动滚动就好办了,那只不过是已知控件坐标,求VScroll.value的问题啊。
当某控件得到焦点(GetForcus)时,如果此时控件不能完全显示,你就根据你准备将他显示的位置,反算此时VScroll.Value“应该”是多少。算好了,直接赋值给VScroll.value就行了。你一给VScroll.value赋值,VScroll_change事件就会自动发生,就像你亲自将滚动条拽到Value的位置一样。