如何为树视图节点childer设置层次结构foreach循环
本文关键字:设置 层次结构 foreach 循环 childer 节点 视图 | 更新日期: 2023-09-27 18:24:32
我有一个程序,可以在树视图中添加和删除不需要的章节。我正在写的所有内容都被保存到文件中,稍后会被生成为PDF。首先,这里是我的文件编写代码:
private void button3_Click(object sender, EventArgs e)
{
{
var header = File.ReadAllText(@"C:'dir'header.tex");
var footer = File.ReadAllText(@"C:'dir'footer.tex");
var sb = new StringBuilder();
sb.AppendLine(header);
foreach (TreeNode node in treeView1.Nodes)
{
var tag = node.Tag as string;
sb.AppendLine(string.IsNullOrEmpty(Text) ? node.Text : tag);
}
sb.AppendLine(footer);
File.WriteAllText(@"C: 'dir'final.tex", sb.ToString());
}
{
var chapaheader = File.ReadAllText(@"C:'dir'chapaheader.tex");
var sba = new StringBuilder();
sba.AppendLine(chapaheader);
foreach (TreeNode node in treeView1.Nodes)
{
foreach (TreeNode child in node.Nodes)
{
var tag = child.Tag as string;
sba.AppendLine(string.IsNullOrEmpty(Text) ? child.Text : tag);
}
File.WriteAllText(@"C: 'dir'chapterA.tex", sba.ToString());
}
我有大约5章,我不知道如何在正确的章节文件中写出每个章节。目前,我的程序做得很好,在主文件中添加了正确的章节,但章节A文件中充满了其他章节,而章节B、C、D、E是空的。所以我想我需要使它成为层次结构的foreach循环。也许有人能帮我?
谢谢。
您可以尝试使用此代码recursive method
IEnumerable<TreeNode> Iterate(TreeNodeCollection nodes)
{
foreach(TreeNode node in nodes)
{
yield return node;
foreach (var child in Iterate(node.Nodes)
{
yield return child;
}
}
}