嵌套列出如何根据单击的按钮一步一步地进行

本文关键字:一步 按钮 何根 单击 嵌套 | 更新日期: 2023-09-27 18:30:06

我有两个按钮Yes和No。根据选择的按钮,我需要浏览我的嵌套列表:if Yes-Right;如果没有-左。示例:

nodes.ElementAt(0).Left.ElementAt(0).Right.ElementAt(0).Name.ToString()

用户点击了否和是

但我不能如此静态地写作,因为用户可以多次点击按钮。如何更有效地写?

 protected void Button1_Click(object sender, EventArgs e)
    {
        //Yes - button 
        nodes.ElementAt(0).Right.ElementAt(0).Name.ToString();
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        //No - button
        nodes.ElementAt(0).Left.ElementAt(0).Name.ToString();
        // If user clicked again no button i need to see where i was before in that list
        // example if user was clicked before yes - button than 
        nodes.ElementAt(0).Left.ElementAt(0).Right.ElementAt(0).Left.Name.ToString();

    }

嵌套列出如何根据单击的按钮一步一步地进行

只需将指向当前节点的指针存储在一个单独的变量中。在构建树后初始化当前节点。

currentNode = nodes.ElementAt(0); // initialize

然后处理你的按钮(你可能会添加一些空检查)

if(noClicked && currentNode.Left != null) {
  currentNode = currentNode.Left.ElementAt(0);
} else if(yesClicked && currentNode.Right != null) {
  currentNode = currentNode.Right.ElementAt(0);
}