读书人

TreeView 中随着焦点的变化自动滚动解

发布时间: 2012-01-14 20:02:35 作者: rapoo

TreeView 中随着焦点的变化自动滚动
关于TreeView中的Item很多时,超出了控件的高度。
当焦点移动到TreeView的边缘时(最下面或最上面),Item会自动地滚动,当前获得焦点的Item会向上或向下的滚动显示出来,(只是键盘操作的时候不包括鼠标操作)想在Item滚动的这个时候做点动作,可不知道怎么触发这个事件,或这个事件是什么。只知道关于ScrollChangedEvent 这个事件,可怎么用在TreeView上面就不知道了,请各位帮忙,谢谢!

[解决办法]
Node的位置可以通过他的Bounds属性得到,至于位置调整,因为他发生在选择之后,没有一个合适的时机。可选方案1,可以检查是否选择的node是否可以完全显示(Node的底部是否超出空间底部),如果不能则将node的位置减去一个node的高度。方案2,用timer在一定时间之后再去取node的位置。

读书人网 >.NET

热点推荐