正常情况下点击ListView中的某行以后,该行的Check变成选中。
请问,怎样可以在点击ListView之后。使该行的Check不变成选中状态?我试着加入下面的代码。结果没有任何变化。
        private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            listView1.Items[e.Index].Checked = false;
        }

解决方案 »

  1.   

    用SelectedIndexChanged   private void listView1_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (listView1.SelectedItems.Count != 0)
                {
                    listView1.SelectedItems[0].Checked = true;
                }
            }
      

  2.   

    不知是否是LZ 的意思.bool isHitCheckbox = false;
            private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)
            {
                if (!isHitCheckbox)  //如果点的是Item的checkbox部分,则改变;点的是Item的别的地方,则不改变.
                    e.NewValue = e.CurrentValue;
            }
            private void listView1_MouseDown(object sender, MouseEventArgs e)
            {
                ListViewHitTestInfo h = this.listView1.HitTest(e.Location);
                if (h.Location == ListViewHitTestLocations.StateImage)
                    isHitCheckbox = true;
                else
                    isHitCheckbox = false;
            }