//按钮添加项.(不可以处于选中状态)
private void btnAdd_Click(object sender, EventArgs e) {
            if (string.IsNullOrEmpty(txtItem.Text.Trim())) {
                MessageBox.Show("添加的项不能为空!");
                return;
            }
            //根据项目名创建ListViewItem.
            //ListViewItem itemNew = new ListViewItem(txtItem.Text);
            //取ListView所有项,检查是否已有项与添加项重名.
            for (int i = 0; i < lvItems.Items.Count; i++) {
                ListViewItem itemOld = lvItems.Items[i];
                if (txtItem.Text == itemOld.Text) {
                    MessageBox.Show("已有该项,不能重复添加!");
                    return;
                }
            }
            lvItems.Items.Add(txtItem.Text);    //添加项.
            lvItems.Items[lvItems.Items.Count - 1].Selected = true; //设置新加项被选中.
            txtItem.Text = "";  //清空输入文本框.
        }
//load Form时 添加项.(可以处于选中状态)
        private void Form1_Load(object sender, EventArgs e) {
            lvItems.Items.Add("你好");
            lvItems.Items[0].Selected = true;   //设置新加项被选中.
        }
Description:
奇了怪了,通过按钮单击,动态添加就不能选中,我调试过了,刚添加到ListView中的项,是我刚添加的,但是貌似没有被选中,但是执行了,为什么 Button的Click事件完成后又没有被选中.
但是在第二个代码(即窗体的load事件)中,是可以被选中的.

解决方案 »

  1.   

    经测试,formload里和buttonclick都可以选中
      

  2.   

    不是吧,是copy过去?
    我试了几次,真的不行...
      

  3.   

    在 调试里面,我打印 "lvItems.SelectedItems.Count"值也为"1"(当我只添加一个的时候).
    但是就是在界面上没有显示"选中"的样式.
      

  4.   

    这是为什么呢?
    在删除的时候,不用选,就可以删除,也就是说,是选中状态,但是就是不显示那个样式,是不是bug哈...
      

  5.   

    这两个属性要这样设,才能看到选中的效果
     this.listView1.FullRowSelect = true;
     this.listView1.HideSelection = false;