I'm working with windows forms and I want to copy entire tree view with their childrens in order set in clipboard in KeyDown
event
First I try to set parent nodes as:
private void tvProjectList_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == (Keys.C))
{
var treeViewParents = "";
foreach (TreeNode tn in tvProjectList.Nodes)
{
treeViewParents += tn.Text + Environment.NewLine;
}
Clipboard.SetText(treeViewParents);
}
}
But it just get one node instead all nodes. How am I supposed to do it? Regards
Update:
In order to get Nodes and their childrens I have
private void tvProjectList_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == (Keys.C))
{
foreach (TreeNode node in tvProjectList.Nodes)
{
PrintNodesRecursive(node);
}
}
}
public void PrintNodesRecursive(TreeNode oParentNode)
{
Console.WriteLine(oParentNode.Text);
var treeViewParents = "";
StringBuilder sb = new StringBuilder();
// Start recursion on all subnodes.
foreach (TreeNode oSubNode in oParentNode.Nodes)
{
sb.Append(oSubNode.Text + Environment.NewLine);
PrintNodesRecursive(oSubNode);
}
Clipboard.SetText(sb.ToString());
}
But string builder always come with empty string... Why data is not saved in string builder? Regards