我要做一个datagridview的单元格可以通过点击多选,就像是按住Ctrl+鼠标左键选单元格一样,但是要用代码写出来.
目前已经实现了,但是我发现,同样的代码,在调用鼠标的点击事件时会造成datagridview的刷新.而调用选中事件则不会.
但是选中事件因为触发方式的问题,很容易出现错误.所以到此寻求解决方案.

解决方案 »

  1.   


                        if (!n.Contains(e.RowIndex))
                        {
                            n.Add(e.RowIndex);
                        }
                        else
                        {
                            n.Remove(e.RowIndex);
                        }
                        this.datagridview1.Rows[e.RowIndex].Selected = false;
                        foreach (int item in n)
                        {
                            if (this.datagridview1.Rows.Count > item)
                            {
                                this.datagridview1.Rows[item].Selected = true;
                            }
                        }其中n是一个存放rowindex的可变长度数组
      

  2.   

    参数是一样的,因为我还用单击事件调用了那个RowEnter事件了.
      

  3.   

    LZ你用的是Remove方法,我以前也写过和你类似的需要删除的,如果要是全部删除可以用Clear()..至于如何只删除选中的行,我也在关注。