概述
ComboBoxTree控件是在Gevik Babakhani的下拉Treeview控件之上扩展的。接近85%的代码已被重写。此更新的控件提供了以下增强功能:
TreeView的尺寸大小可以超出其父控件和所在窗口。
和标准的Windows大小调整手柄一致的调整大小的功能。
当是根节点时,填充下拉框选择,由SelectionSeparator属性指定分隔符(比如SelectionSeperator设置为“.”时会产生类似“Node0.subnode1.subnode2.rootnode”)。
更好的设计时支持,包括标准的TreeView控件的所见即所得的节点集合编辑器。
选定的节点框可以编辑,也可通过一个属性访问——但是不会验证手动设置的值。
更简化,使用了region块和更少的方法调用。
请随时发表评论、问题或批评。这是我的第一个Windows控件,请多指教。
背景
我在一个项目中需要多个TreeView,但是窗体的控件十分有限,所以需要一个控件。当我发现Gevik的下拉TreeView控件时,我欣慰地发现那是我一直在寻找的,但很快就遇到了一些需要注意的问题,于是我花了点时间对代码做了更新。
原本我不打算重新发布更小学教师实习报告 改后的控件,但我希望自己的回馈能成为感谢的一种方式。感谢原始项目代码的作者——感谢Gevik Babakhani ;-)
要使用这个控件,只需简单地添加ComboBoxTree.dll文件到你份额工具箱中并且将控件放在窗体上。这个控件将会提供你所需的TreeView控件的常用的功能。
关注点
我之所以能够解决“允许下拉框尺寸超过父窗体”的问题,是通过将TreeView控件中添加到它所在的无边界窗体实现的。下一个问题涉及到大小调整手柄如何正常工作。解决的办法是通过计算调整手柄内的绝对鼠标位置和包含TreeView的窗体的位置的鼠标偏移量。最后一个大问题是滚动条显示时的大小调整手柄如何处理。禁用滚动条不是解决的办法,唯一的选择是在底部和右边添加内边距,有些另类,但绝对实用!
更新历史
01/26/04 1.0提交
02/02/04 1.2版提交,更改包括:
Text属性可以被重写。
添加AbsoluteChildrenSelectableOnly属性,用户可以被只允许选择终端节点或所有节点。
公有方法ValidateText可用来验证手动输入的文本。
SelectionSeparator更名为BranchSeparater。
小的工具箱类别的变化。