国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
C# 帶checkbox的 TreeView處理父子節(jié)點(diǎn)選擇

帶checkbox的C# TreeView處理父子節(jié)點(diǎn)選擇

今天寫了一個(gè)C#的TreeView,需要帶checkbox,msdn上TreeView.AfterCheck Event (System.Windows.Forms)之處理了子節(jié)點(diǎn)的遞歸選擇問題,貼一下我寫的父子節(jié)點(diǎn)遞歸選擇。



    1         void tree_AfterCheck(object sender, TreeViewEventArgs e)

    2         {

    3             if (e.Action != TreeViewAction.Unknown)

    4             {

    5                 UpdateCheckStatus(e);

    6             }

    7         }

    8 

    9         // update check status for parent and child

   10         private void UpdateCheckStatus(TreeViewEventArgs e)

   11         {

   12             CheckAllChildNodes(e.Node);

   13             UpdateAllParentNodes(e.Node);         

   14         }

   15 

   16         // updates all parent nodes recursively.

   17         private void UpdateAllParentNodes(TreeNode treeNode)

   18         {

   19             TreeNode parent = treeNode.Parent;

   20             if (parent != null)

   21             {

   22                 if (parent.Checked && !treeNode.Checked)

   23                 {

   24                     parent.Checked = false;

   25                     UpdateAllParentNodes(parent);

   26                 }

   27                 else if (!parent.Checked && treeNode.Checked)

   28                 {

   29                     bool all = true;

   30                     foreach (TreeNode node in parent.Nodes)

   31                     {

   32                         if (!node.Checked)

   33                         {

   34                             all = false;

   35                             break;

   36                         }

   37                     }

   38                     if (all)

   39                     {

   40                         parent.Checked = true;

   41                         UpdateAllParentNodes(parent);

   42                     }

   43                 }

   44             }

   45         }

   46 

   47         // updates all child tree nodes recursively.

   48         private void CheckAllChildNodes(TreeNode treeNode)

   49         {

   50             foreach (TreeNode node in treeNode.Nodes)

   51             {

   52                 node.Checked = treeNode.Checked;

   53                 if (node.Nodes.Count > 0)

   54                 {

   55                     // If the current node has child nodes, call the CheckAllChildsNodes method recursively.

   56                     this.CheckAllChildNodes(node);

   57                 }

   58             }

   59         }


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
TreeView CheckBox勾選聯(lián)動(dòng)
treeview展開一個(gè)節(jié)點(diǎn)就關(guān)閉其他節(jié)點(diǎn)
C#生成無限級(jí)別菜單 treeview綁定數(shù)據(jù)庫 實(shí)踐成果
C#實(shí)現(xiàn)TreeView節(jié)點(diǎn)上下左右自由移動(dòng)
C# 多線程操作TreeView
讓JTree所有節(jié)點(diǎn)展開和關(guān)閉的類 - 我愛看火影的日志 - 網(wǎng)易博客
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服