如题.

解决方案 »

  1.   

    我加了如下代码,就是datagridview的click事件,
     
    private void datagridview1_Click(object sender, EventArgs e)
            {
                datagridview1.ClearSelection();
            }
    但是点一下的时候还会变一下蓝色。我想要的效果是点上面没任何反应的那种。
      

  2.   

            private void dataGridView1_CellMouseMove(object sender, DataGridViewCellMouseEventArgs e)
            {
                if (e.ColumnIndex == -1) return;
                if (e.RowIndex == -1) return;
                this.dataGridView1[e.ColumnIndex, e.RowIndex].Style.SelectionBackColor = Color.White;
            }
             private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
            {
                e.PaintParts = DataGridViewPaintParts.All ^ DataGridViewPaintParts.Focus;
            }
      

  3.   


     private void dataGridView1_CellMouseMove(object sender, DataGridViewCellMouseEventArgs e)
            {
                if (e.ColumnIndex == -1) return;
                if (e.RowIndex == -1) return;
                this.dataGridView1[e.ColumnIndex, e.RowIndex].Style.SelectionBackColor = Color.White; //如果我原来的BackColor不是white,而是Red,那么点击的时候还是会有颜色的变化..
            }
             private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
            {
                e.PaintParts = DataGridViewPaintParts.All ^ DataGridViewPaintParts.Focus; //这个很不错。
            }
      

  4.   

    那你就根据你单元格的原本颜色。        private void dataGridView1_CellMouseMove(object sender, DataGridViewCellMouseEventArgs e)
            {
                if (e.ColumnIndex == -1) return;
                if (e.RowIndex == -1) return;
                this.dataGridView1[e.ColumnIndex, e.RowIndex].Style.SelectionBackColor = this.dataGridView1[e.ColumnIndex, e.RowIndex].Style.SelectionBackColor;
             }