读书人

VS2005中winform的listview有关问题!

发布时间: 2012-01-05 22:36:54 作者: rapoo

VS2005中winform的listview问题!(大家帮帮忙)
将winform的
listview的view=Details
listview的MultiSelect = true;
listview的CheckBoxes = true;
之后。
用shift或者ctrl键+鼠标左键单击进行多选时(只是想高亮显示既selectd=true),但当这些行被高亮显示的时候,checkbox也被自动复选上了。(如果有些行原来已经被选中就会变成没有被选中。)
有什么办法可以不让这些高亮行的checkbox被选上?
附件中有界面的截图。


[解决办法]

C# code
bool isSelectMode = false;        private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)        {            if (listView1.SelectedItems.Count>1 && isSelectMode)            {                e.NewValue = e.CurrentValue;                isSelectMode = false;            }        }        private void listView1_KeyDown(object sender, KeyEventArgs e)        {            if (e.Control || e.Shift)                isSelectMode = true;        }        private void listView1_KeyUp(object sender, KeyEventArgs e)        {            isSelectMode = false;        } 

读书人网 >C#

热点推荐