C# treeview控件部分节点添加checkbox
2014-03-10 23:14
441 查看
转自:http://www.cnblogs.com/xiaolifeidao/p/3178569.html
一、先初始化treeview
二、实现委托事件
三、隐藏的实现
一、先初始化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);
相关文章推荐
- C# treeview控件部分节点添加checkbox
- 给C#的treeview控件的部分节点添加checkbox
- C#Winform基础 treeview控件 点击按钮添加以textbox中为名称的根节点
- C#Winform基础 treeview控件 点击按钮添加以textbox中为名称的根节点
- C#Winform基础 treeview控件 选中一个根节点为其添加子节点
- C#Winform基础 treeview控件 选中一个根节点为其添加子节点
- C#winfrom 中 TreeView 控件中带checkbox,怎么实现在父节点上打勾,选中全部子节点?
- HOWTO:向 TreeView 控件中添加 XML 节点
- C#开发学习笔记:Dev控件库的TreeList动态添加节点
- C# TreeView 控件选中父节点后子节点自动全选的代码 [转贴] [测试有效]
- TreeView控件的一些关于节点的CheckBox使用
- C# winform treeview node添加右键菜单并选中节点
- C# GridView列头添加CheckBox控件实现全选功
- 如何在C#的TreeView控件中双击节点而不改变节点的展开/折叠状态
- C# TreeView树控件,失去焦点仍然高亮显示,右击节点时才弹出右键菜单,空白处右击不弹出菜单
- 原创 c# 封装的带CheckBox的DataGridViewColumnHeaderCell 源码部分 实现DataGridView列头带CheckBox控件实现全选功能,支持列头带标题
- C# treeview右键添加,删除,重名字树节点
- TreeView控件中选中节点前的checkBox仍然会触发NodeMouseClick事件
- C# TreeView的CheckBox 父/子节点点击联动选择效果
- Asp.net 2.0 TreeView控件使用jQuery无刷新添加节点详细说明