C# TreeView 连续点击 不触发AfterCheck事件
生活随笔
收集整理的這篇文章主要介紹了
C# TreeView 连续点击 不触发AfterCheck事件
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
創(chuàng)建一個(gè)類 TreeView2
namespace System.Windows.Forms {public class TreeView2 : TreeView{protected override void WndProc(ref Message m){if (m.Msg != 0x203){base.WndProc(ref m);}}} }然后前臺(tái)放置一個(gè)TreeView控件。名叫:treeView1
后臺(tái)代碼:
private void Form3_Load(object sender, EventArgs e){//測(cè)試數(shù)據(jù)TreeNode t = new TreeNode();t.Text = "所有權(quán)限";TreeNode t1 = new TreeNode();t1.Text = "會(huì)員消費(fèi)";t.Nodes.Add(t1);for (int i = 0; i < 100; i++){TreeNode t2 = new TreeNode();t2.Text = "Test" + i;t1.Nodes.Add(t2);}this.treeView1.CheckBoxes = true;this.treeView1.Nodes.Add(t);}private void CheckAllChildNodes(TreeNode treeNode, bool nodeChecked){foreach (TreeNode node in treeNode.Nodes){node.Checked = nodeChecked;if (node.Nodes.Count > 0){this.CheckAllChildNodes(node, nodeChecked);}}}private void treeView1_AfterCheck(object sender, TreeViewEventArgs e){if (e.Action != TreeViewAction.Unknown){if (e.Node.Nodes.Count > 0){this.CheckAllChildNodes(e.Node, e.Node.Checked);}}}最后,將Form3.Designer.cs 文件中的 TreeView 全部替換成我們的 TreeView2
轉(zhuǎn)載于:https://www.cnblogs.com/hanjun0612/p/9779837.html
總結(jié)
以上是生活随笔為你收集整理的C# TreeView 连续点击 不触发AfterCheck事件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows如何安装MSMQ消息队列
- 下一篇: c# char unsigned_dll