日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Csharp: Treeview check list value

發布時間:2023/12/18 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Csharp: Treeview check list value 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 /// <summary> 2 /// 選擇的節點 3 /// 塗聚文 20121116 4 /// 捷為工作室 5 /// 6 /// </summary> 7 /// <param name="sender"></param> 8 /// <param name="e"></param> 9 private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) 10 { 11 #region 4 12 13 if (e.Action != TreeViewAction.Unknown) 14 { 15 16 //Event call by mouse or key-press 17 18 SetNodeCheckStatus(e.Node, e.Node.Checked); 19 20 } 21 #endregion 22 23 24 } 25 /// <summary> 26 /// 選擇的節點 27 /// </summary> 28 /// <param name="tn"></param> 29 /// <param name="Checked"></param> 30 private void SetNodeCheckStatus(TreeNode tn, bool Checked) 31 { 32 33 if (tn == null) return; 34 35 // Check children nodes 36 37 foreach (TreeNode tnChild in tn.Nodes) 38 { 39 40 tnChild.Checked = Checked; 41 42 SetNodeCheckStatus(tnChild, Checked); 43 44 } 45 46 // Set parent check status 47 48 TreeNode tnParent = tn; 49 50 int nNodeCount = 0; 51 52 while (tnParent.Parent != null) 53 { 54 55 tnParent = (TreeNode)(tnParent.Parent); 56 57 nNodeCount = 0; 58 59 foreach (TreeNode tnTemp in tnParent.Nodes) 60 61 if (tnTemp.Checked == Checked) 62 63 nNodeCount++; 64 65 if (nNodeCount == tnParent.Nodes.Count) 66 67 tnParent.Checked = Checked; 68 69 else 70 71 tnParent.Checked = false; 72 73 } 74 75 } 76 77 78 #region 選擇的節點 79 /// <summary> 80 /// http://www.codeproject.com/Questions/196856/C-NET-Treeview-Node-Checked 81 /// http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.aftercheck.aspx 82 /// </summary> 83 /// <param name="treeNode"></param> 84 /// <param name="nodeChecked"></param> 85 public void CheckAllChildNodes(TreeNode treeNode, bool nodeChecked) 86 { 87 foreach (TreeNode node in treeNode.Nodes) 88 { 89 node.Checked = nodeChecked; 90 if (node.Nodes.Count > 0) 91 { 92 this.CheckAllChildNodes(node, nodeChecked); 93 } 94 } 95 } 96 #endregion 97 /// <summary> 98 /// 顯示選擇的節點 99 /// </summary> 100 /// <param name="sender"></param> 101 /// <param name="e"></param> 102 private void button1_Click(object sender, EventArgs e) 103 { 104 105 DataTable dt = new DataTable(); 106 dt.Columns.Add("Uid", typeof(Guid)); 107 dt.Columns.Add("ID", typeof(int)); 108 dt.Columns.Add("Name", typeof(string)); 109 dt.Columns.Add("ParentID", typeof(int)); 110 111 List<TreeNode> selectedNodes = new List<TreeNode>(); 112 GetSelectedTreeNode(treeView1.Nodes, selectedNodes); 113 int i = 0; 114 foreach (TreeNode node in selectedNodes) 115 { 116 if (!string.IsNullOrEmpty(node.ToolTipText)) 117 { 118 dt.Rows.Add(new Guid(node.ToolTipText), node.Name, node.Text,node.Parent.Name); 119 } 120 i++; 121 } 122 123 124 dataGridView1.DataSource = dt; 125 126 127 128 129 130 } 131 /// <summary> 132 /// 選擇的節點的值 133 /// </summary> 134 /// <param name="nodes"></param> 135 /// <param name="selectedNodes"></param> 136 void GetSelectedTreeNode(TreeNodeCollection nodes, List<TreeNode> selectedNodes) 137 { 138 foreach (TreeNode node in nodes) 139 { 140 if (node.Checked) 141 { 142 selectedNodes.Add(node); 143 } 144 GetSelectedTreeNode(node.Nodes, selectedNodes); 145 } 146 }

?

轉載于:https://www.cnblogs.com/geovindu/archive/2012/11/16/2773713.html

總結

以上是生活随笔為你收集整理的Csharp: Treeview check list value的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。