c# WinForm开发 DataGridView控件的各种操作总结(单元格操作,属性设置)

本文详细介绍了C# WinForm中DataGridView控件的各种操作,包括单元格内容的获取与设置、只读属性设定、行与列的操作、自定义单元格样式、用户输入控制以及右键菜单的配置。内容涵盖单元格的读写、行头列头的修改、单元格边框样式、数据验证、列宽行高调整、冻结行列、默认值设定、剪贴板操作等关键功能。
摘要由CSDN通过智能技术生成

一、单元格内容的操作*****

// 取得当前单元格内容Console.WriteLine(DataGridView1.CurrentCell.Value); 

// 取得当前单元格的列 Index Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex); 

// 取得当前单元格的行 Index Console.WriteLine(DataGridView1.CurrentCell.RowIndex);

*******另外,使用 DataGridView.CurrentCellAddress 属性(而不是直接访问单元格)来确定单元格所在的行:DataGridView.CurrentCellAddress.Y 和列: DataGridView.CurrentCellAddress.X 。这对于避免取消共享行的共享非常有用。 当前的单元格可以通过设定 DataGridView 对象的 CurrentCell 来改变。可以通过 CurrentCell 来设定 DataGridView 的激活单元格。将 CurrentCell 设为 Nothing(null) 可以取消激活的单元格。

// 设定 (0, 0) 为当前单元格 DataGridView1.CurrentCell = DataGridView1[0, 0]; 在整行选中模式开启时,你也可以通过 CurrentCell 来设定选定行。

 /// /// 向下遍历 

/// /// /// private void button4_Click(object sender, EventArgs e) ...{ int row = this.dataGridView1.CurrentRow.Index + 1; if (row > this.dataGridView1.RowCount - 1) row = 0; this.dataGridView1.CurrentCell = this.dataGridView1[0, row]; }

 /// /// 向上遍历 /// /// /// private void button5_Click(object sender, EventArgs e) ...{ int row = this.dataGridView1.CurrentRow.Index - 1; if (row < 0) row = this.dataGridView1.RowCount - 1; this.dataGridView1.CurrentCell = this.dataGridView1[0, row]; } 

* 注意: this.dataGridView 的索引器的参数是: columnIndex, rowIndex 或是 columnName, rowIndex 这与习惯不同。

********DataGridView 设定单元格只读:1) 使用 ReadOnly 属性 ? 如果希望,DataGridView 内所有单元格都不可编辑, 那么只要: // 设置 DataGridView1 为只读 DataGridView1.ReadOnly = true;此时,用户的新增行操作和删除行操作也被屏蔽了。

******如果希望,DataGridView 内某个单元格不可编辑, 那么只要:// 设置 DataGridView1 的第2列整列单元格为只读 DataGridView1.Columns[1].ReadOnly = true; // 设置 DataGridView1 的第3行整行单元格为只读 DataGridView1.Rows[2].ReadOnly = true; // 设置 DataGridView1 的[0,0]单元格为只读 DataGridView1[0, 0].ReadOnly = true;

*******DataGridView 行头列头的单元格// 改变DataGridView1的第一列列头内容 DataGridView1.Columns[0].HeaderCell.Value = "第一列"; 

// 改变DataGridView1的第一行行头内容 DataGridView1.Rows[0].HeaderCell.Value = "第一行"; // 改变DataGridView1的左上头部单元内容 DataGridView1.TopLeftHeaderCell.Value = "左上"; 另外你也可以通过 HeaderText 来改变他们的内容。

// 改变DataGridView1的第一列列头内容 DataGridView1.Columns[0].HeaderText = "第一列";

*********** DataGridView 单元格的ToolTip的设置DataGridView.ShowCellToolTips = True 的情况下, 单元格的 ToolTip 可以表示出来。对于单元格窄小,无法完全显示的单元格, ToolTip 可以显示必要的信息。 

1) 设定单元格的ToolTip内容 

// 设定单元格的ToolTip内容 DataGridView1[0, 0].ToolTipText = "该单元格的内容不能修改"; 

// 设定列头的单元格的ToolTip内容 DataGridView1.Columns[0].ToolTipText = "该列只能输入数字"; 

// 设定行头的单元格的ToolTip内容 DataGridView1.Rows[0].HeaderCell.ToolTipText = "该行单元格内容不能修改"; 

2) CellToolTipTextNeeded 事件 在批量的单元格的 ToolTip 设定的时候,一个一个指定那么设定的效率比较低, 这时候可以利用 CellToolTipTextNeeded 事件。当单元格的 ToolTipText 变化的时候也会引发该事件。但是,当DataGridView的DataSource被指定且VirualMode=True的时候,该事件不会被引发。 

// CellToolTipTextNeeded事件处理方法

 private void DataGridView1_CellToolTipTextNeeded(object sender, DataGridViewCellToolTipTextNeededEventArgs e) { e.ToolTipText = e.ColumnIndex.ToString() + ", " + e.RowIndex.ToString(); }

*******DataGridView 的单元格的边框、 网格线样式的设定

1) DataGridView 的边框线样式的设定 DataGridView 的边框线的样式是通过 DataGridView.BorderStyle 属性来设定的。 BorderStyle 属性设定值是一个 BorderStyle 枚举: FixedSingle(单线,默认)、Fixed3D、None。 

2) 单元格的边框线样式的设定 单元格的边框线的样式是通过 DataGridView.CellBorderStyle 属性来设定的。 CellBorderStyle 属性设定值是 DataGridViewCellBorderStyle 枚举。(详细参见 MSDN) 另外,通过 DataGridView.ColumnHeadersBorderStyle 和 RowHeadersBorderStyle 属性可以修改 DataGridView 的头部的单元格边框线样式。 属性设定值是 DataGridViewHeaderBorderStyle 枚举。(详细参见 MSDN)</

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值