在C#winform中如何去掉datagridview里数据的点击效果

img

如图,datagridview控件数据框中蓝色如何去掉,鼠标移到别的数据上点击显示蓝色的效果如何去掉

dataGridView1.DefaultCellStyle.SelectionBackColor = dataGridView1.DefaultCellStyle.BackColor;
dataGridView1.DefaultCellStyle.SelectionForeColor = dataGridView1.DefaultCellStyle.ForeColor;

dataGridView1.Enabled=false;

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/351827
  • 你也可以参考下这篇文章:关于C# winform开发时datagridview图片显示异常的处理
  • 除此之外, 这篇博客: 【WinForm】DataGridView鼠标右键点击行显示右键菜单中的 DataGridView鼠标右键点击行显示右键菜单 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 方法

    /// <summary>
    /// 扩展方法
    /// </summary>
    public static class Extensions
    {
    	/// <summary>
    	/// DataGridView鼠标右键点击行显示右键菜单
    	/// </summary>
    	public static void SetRightButtonDownShowContextMenuStrip(this DataGridView dgv, ContextMenuStrip cms, DataGridViewCellMouseEventArgs e)
    	{
    		//点击的是鼠标右键 且 点击行属于DataGridView的单元格的行(标题行的索引为-1)
    		if (e.Button == MouseButtons.Right && e.RowIndex >= 0)
    		{
    		    if (!dgv.Rows[e.RowIndex].Selected)//该行没有被选中
    		    {
    		        dgv.ClearSelection();//清除当前选中的行
    		        dgv.Rows[e.RowIndex].Selected = true;//设置选中行
    		    }
    		
    		    cms.Show(Control.MousePosition.X, Control.MousePosition.Y);//显示右键菜单
    		}
    	}
    }
    

    调用

    private void dgv_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
    {
        dgv.SetRightButtonDownShowContextMenuStrip(cms, e);
    }
    
  • 您还可以看一下 武占文老师的C#WinForm工业企业销售管理系统开发课程中的 DataGridView数据统计类设计小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    通过设置 DataGridView 的 SelectionMode 属性为 FullRowSelect 可以取消单元格的点击效果,鼠标移动到其它行时也不会高亮该行。具体操作如下:

    1. 打开 WinForm 界面设计器,在 Properties 窗口中找到 DataGridView 控件,找到 SelectionMode 属性,并将其值设置为 FullRowSelect。

    2. 在代码中设置 SelectionMode 属性,方法如下:

    dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
    

    这样就能够取消单元格的点击效果和鼠标移动高亮效果了。