【问题标题】:Is it possible to add a form to a TreeView?是否可以将表单添加到 TreeView?
【发布时间】:2020-01-24 17:29:18
【问题描述】:

我想创建一个包含复杂形式的 EmployeeNode 作为节点的 TreeView。当您添加节点时,我将调用InitializeComponent()。这样预期的结果将类似于

或代码方面:

EmployeeNode EMPND = new EmployeeNode(new Employee());
EMPND.Draw();
VisualTree.Nodes.Add(EMPND);

//Draw (at EmployeeNode form class)
public void Draw()
{
   InitializeComponent();
}

这可能吗?

编辑

如果这不能使用 TreeView 完成,我很乐意听到其他存储表单的方法,除了 TreeView,它提供了类似的基于层次结构的 WinForm 视觉解决方案(可能是通用版本?)

【问题讨论】:

  • 一个树形视图,您可以添加文本框和列表框等控件。 : treeView1.Controls.Add(textbox1);
  • @jdweng 可以,但是可以添加表格吗?
  • 表单是一个控件。使用 Panel 可能会更好,您可以在其中添加表单等控件并且开销更少。
  • TreeView 不会与任何不是节点的东西交互,并且表单(或控件)不是节点。根据图像,您应该只创建一个自定义控件。

标签: c# forms winforms treeview treenode


【解决方案1】:

将要添加的表单的 TopLevel 属性设置为 false。

var form = new Form { TopLevel = false };
treeView.Controls.Add(form);
form.Show();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    相关资源
    最近更新 更多