當前位置:編程學習大全網 - 源碼下載 - C#中如何實現TreeView控件選中根結點相應的子節點也選中,同時將信息相應的顯示到DataGridView控件中。

C#中如何實現TreeView控件選中根結點相應的子節點也選中,同時將信息相應的顯示到DataGridView控件中。

#region 將樹的checkbox選中

private void setNodeTrue(Node selNode)

{

Node node = selNode.Parent;

if (node != null)

{

node.CheckState = CheckState.Checked;

setNodeTrue(node);

}

}

#endregion

#region 將樹的checkbox選中

private void setNodeStateTrue(Node selNode)

{

if (selNode.CheckBoxVisible)

{

selNode.CheckState = CheckState.Checked;

foreach (Node node in selNode.Nodes)

{

setNodeStateTrue(node);

}

}

}

#endregion

#region 將樹的checkbox取消選中

private void setNodeStateFalse(Node selNode)

{

if (selNode.CheckBoxVisible)

{

selNode.CheckState = CheckState.Unchecked;

foreach (Node node in selNode.Nodes)

{

setNodeStateFalse(node);

}

}

}

#endregion

#region 將樹的checkbox取消選中

private void setNodeFalse(Node selNode)

{

Node nextNode = selNode.NextNode;

Node previousNode = selNode.PrevNode;

Node praNode = selNode.Parent;

if (praNode != null)

{

while (nextNode != null)

{

if (nextNode.Checked)

{

return;

}

nextNode = nextNode.NextNode;

}

while (previousNode != null)

{

if (previousNode.Checked)

{

return;

}

previousNode = previousNode.PrevNode;

}

praNode.CheckState = CheckState.Unchecked;

setNodeFalse(praNode);

}

}

#endregion

#region 單擊樹的checkbox事件 //這個是事件註意了

private void tvDevice_AfterCheck(object sender, AdvTreeCellEventArgs e)

{

Node node = tvDevice.SelectedNode;

//bool bo = node.Checked;

if (node.Checked)

{

setNodeTrue(node);

setNodeStateTrue(node);

}

else

{

setNodeStateFalse(node);

setNodeFalse(node);

}

flag = true;

}

#endregion

//直接復制使用 找到treeview AfterCheck事件綁定 tvDevice_AfterCheck方法就行

  • 上一篇:什麽都不寫源代碼。
  • 下一篇:折扣手遊平臺app排行榜
  • copyright 2024編程學習大全網