Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# TreeView替代品?_C#_.net_Winforms - Fatal编程技术网

C# TreeView替代品?

C# TreeView替代品?,c#,.net,winforms,C#,.net,Winforms,我正在为系统中的访问控制构建一个windows窗体。TreeView控件是完美的,因为一切都可以(也应该)以树的形式呈现。应该有几个树视图(用户和用户组、用户组和角色、角色和权限等),访问控制的处理被设想为这些树视图之间的拖放操作 有一个警告,这是这个问题的一个原因。节点具有很少的bool属性(即插入、更新、删除权限),这将形成完美的复选框,但treeView不能为每个节点设置多个复选框 那么,是否有一个控件可以看起来像treeview(嵌套只有1-3层深),具有广泛的拖放功能,并且支持每个项目

我正在为系统中的访问控制构建一个windows窗体。TreeView控件是完美的,因为一切都可以(也应该)以树的形式呈现。应该有几个树视图(用户和用户组、用户组和角色、角色和权限等),访问控制的处理被设想为这些树视图之间的拖放操作

有一个警告,这是这个问题的一个原因。节点具有很少的bool属性(即插入、更新、删除权限),这将形成完美的复选框,但treeView不能为每个节点设置多个复选框


那么,是否有一个控件可以看起来像treeview(嵌套只有1-3层深),具有广泛的拖放功能,并且支持每个项目的几个复选框,或者可以修改treeview以支持此功能

我建议您仔细看看Telerik UI控件套件。 他们提供你需要的任何东西


请务必查看他们的Treeview和TreeListView控件。

理论上,您可以自己绘制Treeview来试试运气。此外,如果适合您,您可以通过从listview控件派生并使用listview项的“缩进”成员来重新实现自己的树功能。(Treeview可能是在listview之上实现的,利用了该成员。)

但要准备好编写大量代码,并进行大量故障排除,因为根据我的经验,当您尝试使用这些控件执行任何异常操作时,它们的行为都非常笨拙


所以,如果你能在某个地方找到一个现成的组件,它正是你想要的,那么就去做吧。它将使您免于很多麻烦。

每个节点只允许有一个复选框,因为其他任何内容都属于“异常复杂且难以使用”的范畴。了解用户界面的限制。