怎样将listview中的某些Item中的checkBox设为只读 同上 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 this.listView.Items[i].Checked = true; to 大胖 请问设什么的属性为Enabled=false (Item or CheckBox,Item没有这个属性,CheckBox 没有办法找到)to 微软 你没有看懂我的意思 设为只读而不是选中 你可以做个变通嘛在listview的ItemCheck事件里控制,如果item被checked了,把它改回false就行了 可以这样来做,把要只读的节点的Tag属性设置为1,不是只读的不设或设成0,然后添加TreeView的BeforeCheck事件,代码如下就可以了:private void treeView1_BeforeCheck(object sender, System.Windows.Forms.TreeViewCancelEventArgs e){ if (e.Node.Tag is int) { if ((e.Node.Tag as int)==1) e.Cancel = true; }} 请点这里,查看详细情况 http://www.lz.net.cn/bbs/X_AdvCom_Get.asp?UserID=7342 hbxtlhx(平民百姓) 回贴回错地方了吧?:-) 我说不人道说的是愿望树(在listview的ItemCheck事件里控制,如果item被checked了,把它改回false就行了)的方法,用户点一次后,还会继续去点的。况且有很多列,谁记得清那列被check过另外我说的是listview不是treeview 嗯,我看错了,不过道理是一样的嘛,可以这样为做:int i = 0;private void listView1_ItemCheck(object sender, System.Windows.Forms.ItemCheckEventArgs e){ if (this.listView1.Items[e.Index].Tag is int ) { if (( int)this.listView1.Items[e.Index].Tag==2) e.NewValue = e.CurrentValue; }}//多生成几个Item,这样的话,第三个Item也就是Index是2的Item是只读了,不可以改变它的值了//原来是什么值就是什么值,可以试试看。private void button1_Click(object sender, System.EventArgs e){ ListViewItem item = new ListViewItem("aaaaa"); item.Tag = i++; this.listView1.Items.Add(item);} 1、宝贵的Tag不能给你存放这东西2、软件是要人性化。主要有个提示作用,这个你不能选了其实用你的方法+使用UseItemStyleForSubItems属性就可以解决,呵呵,懒得写 TO luoguofei(西漠之驼) 楼主:宝贵的Tag不能给你存放这东西?那TAG是来放什么的?不知道你这个“人性化”指的是什么?再次请教你的“只读”是什么意思?“懒得写”是为什么? 1、Tag用来放实体对象2、我说只读,一是不能选中, 二得有提示功能:譬如该条Item变灰。 没有提示功能就不够人性化。想想看强制不让人家选中,到最后人家怎么记得那些是我选中,那些是我选了但没有选中,那些是我没有选过3、目前不急用。感谢你的回答 这三种数据类型建模方式,有区别吗? 「玩一玩」神笔马良——把图形「画」在音频里(译文 Draw Into Sound) 请问怎么通过点击父窗体菜单栏控件控制子窗体控件内容? 求关于winform界面设计的文档或者资料 div网页信息切换 右键菜单问题!!!!!!!!!!!!!!! C#窗口显示Access表数据 更新SQL2000中自动带[ ]的字段 如何获取方法体内的文本 c#如何开启关闭IIS日志记录 = =| 想写这样子一个WIN服务程序。。。 把一个StatusBar定义在一个静态变量里面,如何在主窗体中加载这个控件?救急啊………………
请问设什么的属性为Enabled=false (Item or CheckBox,Item没有这个属性,CheckBox 没有办法找到)to 微软
你没有看懂我的意思
设为只读而不是选中
在listview的ItemCheck事件里控制,如果item被checked了,把它改回false就行了
{
if (e.Node.Tag is int)
{
if ((e.Node.Tag as int)==1)
e.Cancel = true;
}
}
:-)
private void listView1_ItemCheck(object sender, System.Windows.Forms.ItemCheckEventArgs e)
{
if (this.listView1.Items[e.Index].Tag is int )
{
if (( int)this.listView1.Items[e.Index].Tag==2)
e.NewValue = e.CurrentValue;
}
}
//多生成几个Item,这样的话,第三个Item也就是Index是2的Item是只读了,不可以改变它的值了
//原来是什么值就是什么值,可以试试看。
private void button1_Click(object sender, System.EventArgs e)
{
ListViewItem item = new ListViewItem("aaaaa");
item.Tag = i++;
this.listView1.Items.Add(item);
}
2、软件是要人性化。主要有个提示作用,这个你不能选了
其实用你的方法+使用UseItemStyleForSubItems属性就可以解决,呵呵,懒得写
不知道你这个“人性化”指的是什么?
再次请教你的“只读”是什么意思?
“懒得写”是为什么?
2、我说只读,一是不能选中,
二得有提示功能:譬如该条Item变灰。
没有提示功能就不够人性化。想想看强制不让人家选中,到最后人家怎么记得那些是我选中,那些是我选了但没有选中,那些是我没有选过
3、目前不急用。
感谢你的回答