当前位置: 代码迷 >> .NET组件控件 >> TreeView 中随着焦点的变化自动滚动解决思路
  详细解决方案

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

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

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