`
guowee
  • 浏览: 176773 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

DataGridView 选中一行后,保持前景色(颜色,字体)不变

    博客分类:
  • .NET
阅读更多

最近在做项目的时候,发现了一个问题,就是当DataGridView选中一行的时候,选中中的颜色均变为DefaultCellStyle中的SelectionForeColor。但是问题是,我已经根据该行不同的数据(规则或者状态)显示了不同的颜色(例如股票行情信息)。显然,编程Highlight颜色是不对的。那么如何保持原来的颜色呢。查了好多论坛都没有找到,最后终于自己解决了问题。

 

Recently, I met a problem while doing the project. When I select one row in DataGridView control, the ForeColor of the selection row was changed to the DefaultCellStyle SelectionForeColor. Obviously, It's not what I want. The reall situation is I already format the cell to diference color according to the data(Such as stock information). How to solve this? Find the solution as following:

 

解决方法如下:

Solution as follows:

 

给DataGridView添加CellFormatting事件,把ForeColor重新付给当前正在Format的Cell。

Add CellFormatting event to DataGridView:


 private void dgMarketInfo_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
 {
      e.CellStyle.SelectionForeColor = e.CellStyle.ForeColor;
 }

 

 

 

 

分享到:
评论

相关推荐

    获取DataGridView选中行的值

    下面,我们将详细探讨如何有效地从`DataGridView`中获取选中行的值,并通过示例代码来加深理解。 ### 获取`DataGridView`选中行的值 #### 方法一:使用`SelectedCells`属性 当`DataGridView`中有多个单元格被选中...

    DataGridView 选中一行源码

    本文将详细讲解如何在C#中实现DataGridView选中一行的功能,并提供相关的源码示例。 首先,我们需要了解DataGridView的事件模型。在用户点击行时,会触发`CellClick`或`RowHeaderMouseClick`事件。你可以根据需求...

    DataGridView c# winform解决排序后行颜色丢失的问题

    完全是源码,可以很好地解决C# Winform中对DataGridView 进行排序后,行的颜色,单元格颜色改变了的方法: 在赋数据源时:把 DataGridView1.DataSource=DataTable1,去掉,用我提供的源码的方法,再数据源就可以了: 改成...

    直接在datagridview中删除选中行

    ### 直接在DataGridView中删除选中行 在.NET Framework中,`DataGridView`控件是Windows Forms应用程序中用于展示和编辑数据的一种非常强大的工具。它提供了丰富的功能来处理各种类型的数据,包括对数据进行排序、...

    c# 中datagridView中删除行的经典操作

    #### 一、DataGridView 删除行的基本方法 在大多数情况下,我们可以通过简单的 `Remove` 方法来删除 `DataGridView` 中选中的行。下面是一个基本的实现方法: ```csharp try { foreach (DataGridViewRow ...

    DataGridView底部合计行

    5. **样式设置**:为了使合计行突出,可以通过设置其背景色、字体样式等方式区分,例如使用不同的颜色或加粗字体。 6. **测试数据库**:描述中提到的附带测试数据库可能是为了验证功能的正确性。可以使用SQLite、...

    DataGridView显示合计行 包含例子

    // 设置合计行的样式,例如背景色、字体等 totalRow.DefaultCellStyle.BackColor = Color.LightGray; totalRow.DefaultCellStyle.Font = new Font(dataGridView1.DefaultCellStyle.Font, FontStyle.Bold); // ...

    C# 实现dataGridView选中一行右键出现菜单的示例代码

    总结,通过设置`dataGridView1`的属性,结合`CellMouseUp`事件和`ContextMenuStrip`,我们可以实现C#中在`dataGridView`选中一行后,右键弹出菜单的功能。这不仅增强了用户交互体验,也为数据操作提供了便利。为了使...

    DataGridView光标定位到特定值的行

    有时候,我们需要在用户进行了一些操作(例如:选择某一行进行编辑后返回)时将光标重新定位到该行。下面我们就来详细介绍如何实现这一功能。 #### 1. 理解DataGridView及其行为 在开始之前,我们先简要回顾一下...

    winform DataGridView控件 实现右击选中行,右击首列弹窗增删行

    winform DataGridView控件 实现右击选中行,右击首列弹窗增删行

    C# windows datagridview表格行上下拖动示例

    在C# Windows应用程序开发中,`DataGridView`是一个常用的控件,用于显示数据表格。这个控件提供了丰富的功能,包括编辑、排序、分页等。在某些场景下,用户可能需要手动调整行的顺序,比如在任务管理器或日程表应用...

    将datagridview的选中部分导出到EXCEL,可跳行选中

    将datagridview的选中部分导出到EXCEL,可跳行选中,将选中的数据导出到表格中,方便快捷,源码已在VS2013中测试成功

    c# datagridview 行合计

    - 设置合计行的`DefaultCellStyle`,例如设置背景色、字体样式等,以区分于数据行。 4. **处理滚动事件** - 如果需要在滚动时保持合计行可见,可以订阅`DataGridView.Scroll`事件,当滚动条滚动时,调整合计行的...

    c#.net datagridview内部行拖动,也就是拖动交换行

    在本篇文章中,我们将深入探讨如何实现“c#.net datagridview内部行拖动,也就是拖动交换行”这一功能。 首先,我们需要理解DataGridView的基本操作。DataGridView控件提供了一个灵活的环境,可以通过编程或用户...

    C#语言DataGridView修改某一行或者某个单元的背景颜色或者字体颜色(包括列表头的颜色)

    有时,我们可能需要根据特定条件改变`DataGridView`中某一行或某一单元格的背景色或字体颜色,甚至包括列头的颜色,以突出显示特定信息或状态。在本教程中,我们将探讨如何实现这一功能。 首先,我们需要创建一个`...

    winform DataGridView 合计行控件

    在某些应用中,我们可能需要在`DataGridView`的底部添加一个总计行,来显示列数据的总和或其他统计信息。这个功能可以通过自定义`DataGridView`行为或使用第三方库来实现。 ### 1. `DataGridView`总计行的基本概念 ...

    c# datagridview 行拖拽

    ### C# DataGridView 行拖拽实现详解 在C#中,`DataGridView` 是一个非常强大的控件,用于显示数据,并提供了丰富的功能来处理表格数据。本文将详细介绍如何实现在 `DataGridView` 控件中的行拖拽功能,即允许用户...

    DataGridView合计

    在.NET框架中,`DataGridView`控件是一种常用的数据展示组件,尤其在Windows Forms应用程序中,它允许用户以表格形式查看和操作数据。标题"DataGridView合计"指出,我们将探讨如何在`DataGridView`中实现行级别的...

    C#中改变DataGridView控件边框颜色的方法

    总的来说,改变`DataGridView`边框颜色是提升界面美学的一个小技巧,通过处理`Paint`事件并利用GDI+的绘图功能,你可以自由地定制控件的外观,使其与你的应用风格更加协调。当然,美观的界面不仅仅是颜色的改变,还...

    隐藏dataGridView的某行某列

    在C#编程中,可以使用`DataGridView.Rows`集合来访问每一行,然后调用`Visible`属性设置为`false`来隐藏该行。例如,假设我们要隐藏第一行,可以这样写: ```csharp dataGridView1.Rows[0].Visible = false; ``` ...

Global site tag (gtag.js) - Google Analytics