明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理


grid控件设为只读属性,选择模式设为cell选择.
选择某个cell后在这个cell周围会出现一圈虚线,我想要的效果是去掉这圈虚线,而且cell的背景色不变.
请问该怎样实现???


回复1:
默认DataGridView是没有这个选项的,不过你可以通过如下的方法来做到这个效果:

首先添加DataGridView的CellPaint事件,代码如下:
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
e.Handled = true;
e.PaintBackground(e.CellBounds, true);
e.PaintContent(e.CellBounds);
}



//******************************************

dataGridView1.ClearSelection();
            dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

            dataGridView1.DefaultCellStyle.SelectionBackColor = Color.GreenYellow;
            dataGridView1.DefaultCellStyle.SelectionForeColor = Color.Black;

           
            this.dataGridView1.BorderStyle = BorderStyle.None;
            this.dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.SingleHorizontal;
            this.dataGridView1.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.None;
            this.dataGridView1.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None;

            //this.dataGridView1.CellBorderStyle =
            //this.dataGridView1.rows
            this.dataGridView1.GridColor = Color.Red;