0
在我的项目,我试图创建一个树形列表用户控件并移动节点上下的按钮(上下)的帮助下,使聚焦节点总是在树形列表可见移动节点上下TreeLIist
C#
private void button1_Click(object sender, EventArgs e)
{
int LastNodeIndex = treeList1.GetNodeIndex(treeList1.Nodes.LastNode);
int targetNodeIndex = treeList1.GetNodeIndex(treeList1.FocusedNode.PrevNode);
if(targetNodeIndex==-1)
{
treeList1.SetNodeIndex(treeList1.FocusedNode, LastNodeIndex);
treeList1.MakeNodeVisible(treeList1.FocusedNode);
}
else
{
int nodeIndex = treeList1.GetNodeIndex(treeList1.FocusedNode);
treeList1.SetNodeIndex(treeList1.FocusedNode, targetNodeIndex);
treeList1.MakeNodeVisible(treeList1.FocusedNode);
}
}
private void button2_Click(object sender, EventArgs e)
{
int targetNodeIndex = treeList1.GetNodeIndex(treeList1.FocusedNode.NextNode);
int nodeIndex = treeList1.GetNodeIndex(treeList1.FocusedNode);
treeList1.SetNodeIndex(treeList1.FocusedNode, targetNodeIndex);
treeList1.MakeNodeVisible(treeList1.FocusedNode);
}
在该上述代码中,移动节点上下无需父和子。在这个阶段它的工作很好。
如果用户关注根节点并单击按钮,那么使用该索引获取lastnode索引值我将selectednode设置为lastnode位置,即使用户从根节点单击向上按钮,它将移动到最后并使该节点可见在treelist中。
但是,如果选定节点作为特定父级的第一个子节点,它将不会移动到lastchild,同时单击向上按钮。如何实现这一目标?这可能吗?给一些想法做。