如何在滚动TreeView中使控件跟随其父级?

时间:2010-07-26 19:43:15

标签: c# winforms treeview scroll treenode

我有一个带有一堆子节点的TreeView,它们都有自己的子节点。

用户要求我在编辑任何“孙子”TreeNode时提供自动完成功能,因此我必须实现一个直接位于TreeNode上的浮动TextBox。

问题是,如果用户在编辑TextBox时用鼠标中键滚动TreeView,她会在TextBox保持放置时看到TreeView滚动。尽管事实上我将TextBox作为TreeView的主要内容。

那么,当用户滚动TreeView时,我可以访问TreeView的哪些属性或事件使TextBox跟随TreeView的所有其他节点?

注意:我没有使用WPF。 (通常我会,但我正在修改一个预先存在的项目。)

1 个答案:

答案 0 :(得分:1)

从TreeView派生并覆盖OnMouseWheel函数可能最容易。在那里你可以隐藏TextBox或移动它以跟上移动的TreeNode。这个article做了类似于你尝试做的事情但使用了DropDown。它隐藏了OnMouseWheel中的控件。