gpt4 book ai didi

c# - 如何根据位置为 TreeNodes 分配编号方案

转载 作者:行者123 更新时间:2023-11-30 16:33:34 25 4
gpt4 key购买 nike

我在 Windows 窗体应用程序中有一个 TreeView 控件,它显示我自己的 TreeNode 子类。我需要显示一个数字以及每个节点的文本,指示其在树中的位置,例如 1 代表根,1.1 代表它的第一个 child ,1.2 代表它的第二个 child ,等等。我正在使用 C# 和 .NET 2.0

我能想到的最好办法是,在构建树之后,转到每个节点,递归地找到父节点并将父节点的兄弟编号附加到节点文本的前面,直到到达根。

最佳答案

您可以将 TreeNode 子类化,根据需要添加属性和覆盖。

或者您可以在构建树时分配 numbers Tag 属性。该算法将取决于您构建树的方式(自上而下与自下而上等)。

更明确的信息(代码)将有助于制定更明确的答案。

OP评论后更新:

对不起,我记错了;您需要改写 TreeView。有点像

public class MyTreeView : System.Windows.Forms.TreeView
{
// ...

protected override void OnDrawNode(DrawTreeNodeEventArgs e)
{
if (e.Node.Tag != null)
{
if (e.Node.Tag.GetType() == typeof(MyDataObject))
{
MyDataObject data = (MyDataObject)e.Node.Tag;
e.Node.Name = data.Number + ". " + data.Name;
}
}
}
}

关于c# - 如何根据位置为 TreeNodes 分配编号方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3041330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com