博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ListView置灰CheckBox
阅读量:4946 次
发布时间:2019-06-11

本文共 2927 字,大约阅读时间需要 9 分钟。

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;namespace WindowsFormsApplication1{    public partial class Form1 : Form    {        [DllImport("user32.dll", CharSet = CharSet.Auto)]        public static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);        public Form1()        {            InitializeComponent();        }        private void button2_Click(object sender, EventArgs e)        {            listView1.Items.Add("111");            listView1.Items.Add("222");            listView1.Items.Add("333");            listView1.EnableItem(listView1.Items[2], false);            listView1.Items.Add("444");            listView1.EnableItem(listView1.Items[3], false);            listView1.Items.Add("555");            listView1.EnableItem(listView1.Items[4], false);            listView1.Items.Add("666");            listView1.Items.Add("777");            listView1.Items.Add("888");        }    }    public class ExListView : ListView    {        Dictionary
_maskCheckBoxList; public ExListView() { _maskCheckBoxList = new Dictionary
(); } public void EnableItem(ListViewItem item,bool isEnable) { if (!isEnable) { CheckBox cb = new CheckBox() { Text = item.Text }; cb.Enabled = false; this.Controls.Add(cb); _maskCheckBoxList.Add(item.Index, cb); } else { this.Controls.Remove(_maskCheckBoxList[item.Index]); _maskCheckBoxList.Remove(item.Index); } } protected override void WndProc(ref Message m) { switch (m.Msg) { case 0x000F: if (View != View.Details) break; foreach (int index in _maskCheckBoxList.Keys) { Rectangle rect = Items[index].GetBounds(ItemBoundsPortion.Entire); //adjust rect.Y += 1; rect.X += 6; _maskCheckBoxList[index].Bounds = rect; if ((this.HeaderStyle != ColumnHeaderStyle.None) && (rect.Top < Font.Height)) { _maskCheckBoxList[index].Visible = false; continue; } else { _maskCheckBoxList[index].Visible = true; } } break; } base.WndProc(ref m); } }}

 

转载于:https://www.cnblogs.com/zachary652/archive/2012/05/16/2502683.html

你可能感兴趣的文章
Android逆向之旅---破解&quot;穿靴子的猫&quot;游戏的收费功能
查看>>
nmapport状态解析
查看>>
sklearn:Python语言开发的通用机器学习库
查看>>
Python多线程之线程创建和终止
查看>>
【转载】使用元类
查看>>
1.3ionic入门——tabs样式添加测滑栏
查看>>
MySQL—函数大全
查看>>
页面中的meta作用
查看>>
实现如下类之间的继承关系,并编写Music类来测试这些类。
查看>>
二叉树的三种遍历
查看>>
Unity3d基本优化策划
查看>>
php多种排序
查看>>
边工作边刷题:70天一遍leetcode: day 23-4
查看>>
Python-SocketServer模块
查看>>
python面向对象学习(五)多态
查看>>
HTML常用标签及表单标签
查看>>
缓冲区溢出原理及防御(转)
查看>>
HUAS Summer Trainning #3~B
查看>>
mysqldump 数据库备份命令及脚本
查看>>
Atom中设置你的Snippet,atom技巧(二)
查看>>