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

[通译]ComboBoxTree

2012-10-17 
[翻译]ComboBoxTree[翻译]ComboBoxTree作者:Gabe Anguiano,2004年2月2日注:本文翻译自 http://www.codepro

[翻译]ComboBoxTree
[翻译]ComboBoxTree

作者:Gabe Anguiano,2004年2月2日

注:本文翻译自 http://www.codeproject.com/Articles/5967/ComboBoxTree



概述

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。
小的工具箱类别的变化。

[解决办法]
又发一帖,连续三帖啊,这种不常用的ComboBoxTree就不要再发了
还都是推荐帖


[解决办法]
这控件忒强大了...
[解决办法]

探讨

这控件忒强大了...

[解决办法]
that is some good stuff! thanks!
[解决办法]
感谢楼主分享,真的很强大
[解决办法]
非常感谢!!!!很有用的软件!!!!!!
[解决办法]
这控件虽然不起眼,但写出来难度却不小!
[解决办法]
谢谢翻译分享,非常不错.
[解决办法]
Thank you for sharing

热点排行