You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# DataGridView如何通过代码选中指定单元格?

问题:DataGridView启动时选中指定单元格的实现方法

需求目标

程序启动时,DataGridView需要呈现第2列(索引为2)的第2、3行单元格同时被选中的效果。

基础配置代码

DataTable dt = new DataTable();
DataColumn c0 = new DataColumn("c0");
DataColumn c1 = new DataColumn("c1");
DataColumn c2 = new DataColumn("c2");
DataColumn c3 = new DataColumn("c3");
dt.Columns.Add(c0);
dt.Columns.Add(c1);
dt.Columns.Add(c2);
dt.Columns.Add(c3);
dt.Rows.Add("", "", "", "");
dt.Rows.Add("", "", "", "");
dt.Rows.Add("", "", "", "");
dt.Rows.Add("", "", "", "");
datagridview1.DataSource = dt;

已尝试的设置及结果

设置1

datagridview1[2, 3].Selected = true;
datagridview1[2, 2].Selected = true;

设置2

datagridview1.Rows[3].Cells[2].Selected = true;
datagridview1.Rows[2].Cells[2].Selected = true;

以上两种设置启动后,仅最后设置的单元格被选中(仅第2行第2列单元格呈现选中状态)。

设置3

datagridview1.CurrentCell = datagridview1[2, 3];
datagridview1.CurrentCell = datagridview1[2, 2];

结果仅最后设置的单元格成为当前单元格,无多单元格选中的高亮效果。

核心问题

如何修改代码,才能在程序启动时选中任意指定的多个单元格?


解决方案

要实现多单元格选中,需完成两个关键配置,再设置目标单元格的选中状态:

  1. 确保DataGridView的选择模式支持单个单元格选中
  2. 清除默认选中状态后,批量设置目标单元格为选中

修改后的完整代码示例(建议放在Form_Load事件中,确保控件已完成初始化):

// 基础配置代码不变
DataTable dt = new DataTable();
DataColumn c0 = new DataColumn("c0");
DataColumn c1 = new DataColumn("c1");
DataColumn c2 = new DataColumn("c2");
DataColumn c3 = new DataColumn("c3");
dt.Columns.Add(c0);
dt.Columns.Add(c1);
dt.Columns.Add(c2);
dt.Columns.Add(c3);
dt.Rows.Add("", "", "", "");
dt.Rows.Add("", "", "", "");
dt.Rows.Add("", "", "", "");
dt.Rows.Add("", "", "", "");
datagridview1.DataSource = dt;

// 关键配置步骤
datagridview1.SelectionMode = DataGridViewSelectionMode.CellSelect;
datagridview1.ClearSelection(); // 清除控件默认的选中状态
// 选中指定的多个单元格
datagridview1.Rows[2].Cells[2].Selected = true;
datagridview1.Rows[3].Cells[2].Selected = true;

关键说明

  • DataGridViewSelectionMode.CellSelect:这是实现多单元格选中的前提,该模式允许单独选中任意单个单元格,而非整行/整列选中。
  • ClearSelection():清除DataGridView默认选中的第一个单元格,避免默认选中状态干扰自定义的选中效果。
  • 逐个设置目标单元格的Selected = true:即可实现多个单元格同时被选中的效果。

内容的提问来源于stack exchange,提问作者Syntax_MM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 11:18:13