TreeNode.Clone Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Копирует узел дерева и все поддерево с этим корнем в данный узел дерева.
public:
virtual System::Object ^ Clone();
public virtual object Clone ();
abstract member Clone : unit -> obj
override this.Clone : unit -> obj
Public Overridable Function Clone () As Object
Возвращаемое значение
Объект Object, представляющий клонированный TreeNode.
Реализации
Примеры
В следующем примере кода клонирует последний дочерний узел дерева последнего узла корневого дерева и вставляет клон в качестве первого корневого узла дерева в TreeNodeCollection
. В этом примере требуется, чтобы у вас был TreeView элемент управления для Form , содержащий коллекцию TreeNode объектов и Button.
void button4_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
TreeNode^ lastNode = treeView1->Nodes[ treeView1->Nodes->Count - 1 ]->Nodes[ treeView1->Nodes[ treeView1->Nodes->Count - 1 ]->Nodes->Count - 1 ];
// Clone the last child node.
TreeNode^ clonedNode = dynamic_cast<TreeNode^>(lastNode->Clone());
// Insert the cloned node as the first root node.
treeView1->Nodes->Insert( 0, clonedNode );
MessageBox::Show( String::Concat( lastNode->Text, " tree node cloned and added to ", treeView1->Nodes[ 0 ]->Text ) );
}
private void button4_Click(object sender, System.EventArgs e)
{
TreeNode lastNode = treeView1.Nodes[treeView1.Nodes.Count - 1].
Nodes[treeView1.Nodes[treeView1.Nodes.Count - 1].Nodes.Count - 1];
// Clone the last child node.
TreeNode clonedNode = (TreeNode) lastNode.Clone();
// Insert the cloned node as the first root node.
treeView1.Nodes.Insert(0, clonedNode);
MessageBox.Show(lastNode.Text +
" tree node cloned and added to " + treeView1.Nodes[0].Text);
}
Private Sub button4_Click(sender As Object, _
e As System.EventArgs) Handles button4.Click
Dim lastNode as TreeNode
lastNode = treeView1.Nodes(treeView1.Nodes.Count - 1). _
Nodes(treeView1.Nodes(treeView1.Nodes.Count - 1).Nodes.Count - 1)
' Clone the last child node.
Dim clonedNode As TreeNode = CType(lastNode.Clone(), TreeNode)
' Insert the cloned node as the first root node.
treeView1.Nodes.Insert(0, clonedNode)
MessageBox.Show(lastNode.Text & _
" tree node cloned and added to " & treeView1.Nodes(0).Text)
End Sub
Комментарии
Копируется древовидная структура из клонированного узла дерева и ниже. Все дочерние узлы дерева, назначенные TreeNode клонивому объекту , включаются в новый узел дерева и поддерево.
Метод Clone выполняет неглубокую копию узла. Если значение Tag свойства является ссылочным типом, исходная и клонированная копия будут указывать на один и тот же экземпляр Tag значения.