C# treeview控件部分节点添加checkbox
来源:互联网 发布:血源诅咒白狼捏脸数据 编辑:程序博客网 时间:2024/05/18 08:58
转自:http://www.cnblogs.com/xiaolifeidao/p/3178569.html
一、先初始化treeview
this.treeView1.CheckBoxes = true; this.treeView1.ShowLines = false; this.treeView1.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll; this.treeView1.DrawNode += new System.Windows.Forms.DrawTreeNodeEventHandler(this.treeView_DrawNode);
二、实现委托事件
private void treeView_DrawNode(object sender, DrawTreeNodeEventArgs e) {
//隐藏节点前的checkbox
if (e.Node.ImageIndex==6) HideCheckBox(this.treeView1, e.Node); e.DrawDefault = true; }
三、隐藏的实现
private const int TVIF_STATE = 0x8; private const int TVIS_STATEIMAGEMASK = 0xF000; private const int TV_FIRST = 0x1100; private const int TVM_SETITEM = TV_FIRST + 63; private void HideCheckBox(TreeView tvw, TreeNode node) { TVITEM tvi = new TVITEM(); tvi.hItem = node.Handle; tvi.mask = TVIF_STATE; tvi.stateMask = TVIS_STATEIMAGEMASK; tvi.state = 0; SendMessage(tvw.Handle, TVM_SETITEM,IntPtr.Zero, ref tvi); } [StructLayout(LayoutKind.Sequential, Pack = 8, CharSet = CharSet.Auto)] private struct TVITEM { public int mask; public IntPtr hItem; public int state; public int stateMask; [MarshalAs(UnmanagedType.LPTStr)] public string lpszText; public int cchTextMax; public int iImage; public int iSelectedImage; public int cChildren; public IntPtr lParam; } [DllImport("user32.dll", CharSet = CharSet.Auto)] private static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, ref TVITEM lParam);
0 0
- C# treeview控件部分节点添加checkbox
- C# treeview控件部分节点添加checkbox
- 实现winform中的treeview控件部分节点显示checkbox,部分节点不显示checkbox的功能
- C# TreeView,添加子节点
- c# winform 遍历TreeView控件(属性为checkbox时)中,所有被选中的节点
- 给TreeView控件添加节点一例
- 递归为TreeView控件添加节点
- C# 给treeView节点添加图片
- TreeView控件的CheckBox自动实现父子节点递归选定
- TreeView控件的一些关于节点的CheckBox使用
- C#TreeView控件控制某些节点的checkbox不显示
- TreeView CheckBox 部分显示
- 给treeview添加checkbox
- 给TreeView控件的CheckBox添加PostBack脚本程序
- c# treeview控件动态绑定数据库,实现2级目录,当输入同一父节点的子节点时,在相同父节点下添加子节点.txt
- TreeView控件时发现带有CheckBox控件的TreeNode对象(TreeView节点),选择CheckBox无法回发页面
- TreeView 控件树节点 TreeNode 的异步加载及对节点 CHECKBOX 的多选控制
- HOWTO:向 TreeView 控件中添加 XML 节点
- C语言中的宏定义与内联函数
- [转载]堆和栈的区别
- hdu2196 树形DP
- JVM原理
- poj 1698 Alice's Chance 网络流
- C# treeview控件部分节点添加checkbox
- checkio (Counting tiles)
- 烙印的妙计
- 国外、国内各大OJ
- 算法为啥子那么难呢???俺为啥子要学算法慎??
- Java加密算法 AES
- 算法-排序
- C++排序总结
- 能够同时在单片机和ANDROID下面高效运行的微GUI核心,才是好UI的基础