zoukankan      html  css  js  c++  java
  • winform中treeview控件实现部分节点显示checkbox

    用过asp.net的应该知道,要在treeview中实现上述功能可以使用ShowCheckBox 属性指定那些节点显示checkbox哪些不显示,可是winform中的treeview只提供一个ShowCheckBoxes 属性,要么全部节点显示checkbox,要不全部不显示,而指定节点没有ShowCheckBox 属性,下面就在winform的treeview中实现BS对应CheckBox 属性的功能

         

    a)       将TreeView的CheckBoxs属性设为false

    b)      将TreeView的StateImageList属性关联一个imagelist组件,里面添加checkbox勾选图片和未勾选图片

    c)      添加TreeView的NodeMouseClick事件,在事件中使用e.Node.StateImageIndex属性切换显示的图片(根据索引切换),可以创建一个泛型集合,比如List<string>,用于存放已打钩的节点项,从而方便切换打钩图片索引和未打钩图片索引

    d)      缺点: 点击树节点所在行的任何位置都会触发NodeMouseClick事件,因为无法触发treeView1_AfterCheck和treeView1_NodeMouseClick事件,所以只能用NodeMouseClick事件

    e)       原理: winform中treeview的checkbox项其实是使用图片显示的,选中是打钩的图片,未选中是未打钩的图片,关联的是StateImageList属性(默认为空,使用自带的图片)。所以如果要实现指定treenode显示checkbox,其它treenode不显示checkbox就需要使用TreeNode的StateImageList属性

    需要注意StateImageList的图标是16*16.不会改变。所以ImageList的图片需要符合这个规格。

  • 相关阅读:
    转一篇GCC相关的文章
    STM32 NVIC
    阻塞套接字返回EAGAIN
    ndk编译libpcap 1.7.4(最终解决方法)
    ndk编译libpcap 1.7.4
    C# 解析torrent文件
    NPOI 读取excel的时候,时间格式的处理
    asp.net webapi 获取报文体的问题
    .net core 2.0 报错:error NU1102: Unable to find package 。。。
    SQL SERVER获取信息的方法
  • 原文地址:https://www.cnblogs.com/colder/p/2935545.html
Copyright © 2011-2022 走看看