Я работаю с формами окон и хочу скопировать весь вид дерева с их потомками в порядке, установленном в буфере обмена в KeyDown
событие
Сначала я пытаюсь установить родительские узлы как:
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);
}
}
Но он просто получает один узел вместо всех узлов.Как я должен это сделать?С уважением
Обновление:
Для того, чтобы получить узлы и их дочерние элементы, у меня есть
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());
}
Но в строителе строк всегда указывается пустая строка ..Почему данные не сохраняются в строителе строк?Привет