首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

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

2012-01-14 
TreeView中随着焦点的变化自动滚动关于TreeView中的Item很多时,超出了控件的高度。当焦点移动到TreeView的

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

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

热点排行