Хорошо, вы можете передать дочерний элемент управления другому родителю, но чтобы показать его, вам нужно добавить его в коллекцию элементов управления, а также изменить свойство 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 во второй форме и скопировать все значения (узлы). , по значению, а не по ссылке) и заново заполните представление дерева во второй форме.
Этот пост должен помочь:
Скопировать все родительские и дочерние элементы treeView в другой treeView c# WinForms