سلام
چگونه میتوان تمامی نود های یک تری ویو مثلا (تری ویو 1) رادر تری ویو دیگر مثلا (تری ویو 2) کپی کرد؟
با کدنویسی
عکس را ببینید
تشکر
Printable View
سلام
چگونه میتوان تمامی نود های یک تری ویو مثلا (تری ویو 1) رادر تری ویو دیگر مثلا (تری ویو 2) کپی کرد؟
با کدنویسی
عکس را ببینید
تشکر
public void Copy(TreeView treeview1, TreeView treeview2)
{
TreeNode newTn;
foreach (TreeNode tn in treeview1.Nodes)
{
newTn = new TreeNode(tn.Text, tn.Value);
CopyChilds(newTn, tn);
treeview2.Nodes.Add(newTn);
}
}
public void CopyChilds(TreeNode parent, TreeNode willCopied)
{
TreeNode newTn;
foreach (TreeNode tn in willCopied.ChildNodes)
{
newTn = new TreeNode(tn.Text, tn.Value);
parent.ChildNodes.Add(newTn);
}
}
دوست عزیز
public void CopyChilds(TreeNode parent, TreeNode willCopied){
TreeNode newTn;
foreach (TreeNode tn in willCopied.ChildNodes)
{
newTn = new TreeNode(tn.Text, tn.Value);
parent.ChildNodes.Add(newTn);
}
}
کلمات ChildNodes و Value را نمیشناسد
تست کنید لطفا
این نمونه خودم تست کردم کامل جواب داد
private void button1_Click(object sender, EventArgs e)
{
foreach (TreeNode originalNode in treeView1.Nodes)
{
TreeNode newNode = new TreeNode(originalNode.Text);
newNode.Tag = originalNode.Tag;
treeView2.Nodes.Add(newNode);
IterateTreeNodes(originalNode, newNode);
}
}
private void IterateTreeNodes(TreeNode originalNode, TreeNode rootNode)
{
foreach (TreeNode childNode in originalNode.Nodes)
{
TreeNode newNode = new TreeNode(childNode.Text);
newNode.Tag = childNode.Tag;
treeView2.SelectedNode = rootNode;
treeView2.SelectedNode.Nodes.Add(newNode);
IterateTreeNodes(childNode, newNode);
}
}
کدهای فوق اصلاح شد
تشکر
public void Copy(TreeView treeview1, TreeView treeview2){
TreeNode newTn;
foreach (TreeNode tn in treeview1.Nodes)
{
newTn = new TreeNode(tn.Text);
CopyChilds(newTn, tn);
treeview2.Nodes.Add(newTn);
}
}
public void CopyChilds(TreeNode parent, TreeNode willCopied)
{
TreeNode newTn;
foreach (TreeNode tn in willCopied.Nodes)
{
newTn = new TreeNode(tn.Text);
CopyChilds(newTn, tn);
parent.Nodes.Add(newTn);
}
}
:تشویق::تشویق: