c# listview 设置多选MultiSelect和行选FullRowSelect以及选项框CheckBoxes后多选默认选中问题

类似问题在这:

https://stackoverflow.com/questions/2017170


listView有一个bug,启用选择框后,在开启多选后按住shift进行多行选择时会自动选中选择框


找了中文网站各种地方似乎并没有人解决这个事


后来在stackoverflow看到了有人问这个问题,突发灵感想到了解决办法,其实很简单,代码如下


        private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            if (ModifierKeys == Keys.Control || ModifierKeys == Keys.Shift)
            {
                e.NewValue = e.CurrentValue;
            }
        }


在判断按键是shift或ctrl后,取消所选即可


猜你喜欢

转载自blog.csdn.net/FireGhost57/article/details/78926681