同上

解决方案 »

  1.   

    this.listView.Items[i].Checked = true;
      

  2.   

    to 大胖
       请问设什么的属性为Enabled=false (Item or CheckBox,Item没有这个属性,CheckBox 没有办法找到)to 微软
       你没有看懂我的意思
       设为只读而不是选中
      

  3.   

    你可以做个变通嘛
    在listview的ItemCheck事件里控制,如果item被checked了,把它改回false就行了
      

  4.   

    可以这样来做,把要只读的节点的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;
    }
    }
      

  5.   

    请点这里,查看详细情况 http://www.lz.net.cn/bbs/X_AdvCom_Get.asp?UserID=7342
      

  6.   

    hbxtlhx(平民百姓) 回贴回错地方了吧?
    :-)
      

  7.   

    我说不人道说的是愿望树(在listview的ItemCheck事件里控制,如果item被checked了,把它改回false就行了)的方法,用户点一次后,还会继续去点的。况且有很多列,谁记得清那列被check过另外我说的是listview不是treeview
      

  8.   

    嗯,我看错了,不过道理是一样的嘛,可以这样为做: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);
    }
      

  9.   

    1、宝贵的Tag不能给你存放这东西
    2、软件是要人性化。主要有个提示作用,这个你不能选了
    其实用你的方法+使用UseItemStyleForSubItems属性就可以解决,呵呵,懒得写
      

  10.   

    TO luoguofei(西漠之驼) 楼主:宝贵的Tag不能给你存放这东西?那TAG是来放什么的?
    不知道你这个“人性化”指的是什么?
    再次请教你的“只读”是什么意思?
    “懒得写”是为什么?
      

  11.   

    1、Tag用来放实体对象
    2、我说只读,一是不能选中,
       二得有提示功能:譬如该条Item变灰。
       没有提示功能就不够人性化。想想看强制不让人家选中,到最后人家怎么记得那些是我选中,那些是我选了但没有选中,那些是我没有选过
    3、目前不急用。
    感谢你的回答