|
DataGridView取消键盘Delete功能:
DataGridView对象的AllowUserToDeleteRows属性为 False 时,用户的行删除操作就被禁止了。
(1)可以通过ContextMenuStrip控件添加鼠标右键删除功能:(推荐)
(2)可以在dataGridView1_CellMouseUp添加以下程序:
- 删除右键删除
- if (e.Button == MouseButtons.Right)//判断是否当前弹起的右键
- {
- // 删除前的用户确认。
- if (MessageBox.Show("确认要删除该行数据吗?", "删除确认",
- MessageBoxButtons.OKCancel,
- MessageBoxIcon.Question) == DialogResult.OK)
- {
- try
- {
- this.dataGridView1.Rows[e.RowIndex].Selected = true;//选中鼠标所在的当前行
- //DataGridViewRow currentRow = this.dataGridView1.Rows[e.RowIndex];
- // 删除对应的Region
- string class_pos = this.dataGridView1.Rows[e.RowIndex].Cells["Class"].Value.ToString(); //获取单元格列名为‘Class’的值
- string row_pos = this.dataGridView1.Rows[e.RowIndex].Cells["Row"].Value.ToString(); //获取单元格列名为‘Row’的值
- string col_pos = this.dataGridView1.Rows[e.RowIndex].Cells["Col"].Value.ToString(); //获取单元格列名为‘Col’的值
- // 删除行对应的region
- int classMove = Convert.ToInt32(class_pos); //缺陷的类别
- double RowMove = Convert.ToDouble(row_pos); //行坐标的中心值
- double ColMove = Convert.ToDouble(col_pos); //列坐标的中心值
- lock (locker)
- {
- // 根据【RowMove, ColMove】删除xx
- xx
- // 先获取坐标信息,再删除dategrid
- this.dataGridView1.Rows.RemoveAt(e.RowIndex);
- }
- }
- catch { }
- }
- }
复制代码
参考:【1】C#如何使用右键菜单【contextMenuStrip】
|
|