我已经在一个表单中创建了一个树形视图,并且我有另一个表单想要在其中精确地重绘该树形视图。我使用构造函数以第二种形式获取树视图,但是当我显示第二种形式时,未显示树视图。应该注意的是,当我以第一种形式获取标签文本时,可以完全以第二种形式显示标签文本,但是对于树形视图则无法这样做。实际上,我不知道应使用treeview的哪个属性来显示它?您介意帮助我吗?
最佳
好,您可以将子控件传递给另一个父控件,但要显示该控件,您需要将其添加到控件集合中,还需要更改树视图的Parent
属性:
public Form2(TreeView treeView)
: this() // default constructor calls InitializeComponent();
{
this.Controls.Add(treeView);
treeView.Left = 100;
treeView.Top = 100;
treeView.Parent = this;
}
并且将显示树视图。
但是您会感到惊讶。
树视图现在已从原始形式消失!!!!
因为这是Windows窗体控件的工作方式。
因此,您需要做的是在第二种形式中拥有自己的TreeView,并复制所有值(节点,按值,而不是按引用),然后以第二种形式重新填充树状视图。
此帖子应提供帮助:
Copy all treeView parent and children to another treeView c# WinForms