Hello Mat

 找回密码
 立即注册
查看: 6546|回复: 9

DataGridView取消键盘Delete功能

[复制链接]

84

主题

115

帖子

731

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
1467
发表于 2020-4-19 19:25:14 | 显示全部楼层 |阅读模式
DataGridView取消键盘Delete功能:
DataGridView对象的AllowUserToDeleteRows属性为 False 时,用户的行删除操作就被禁止了。

(1)可以通过ContextMenuStrip控件添加鼠标右键删除功能:(推荐)
(2)可以在dataGridView1_CellMouseUp添加以下程序:
  1.             删除右键删除
  2.             if (e.Button == MouseButtons.Right)//判断是否当前弹起的右键
  3.             {
  4.                 // 删除前的用户确认。
  5.                 if (MessageBox.Show("确认要删除该行数据吗?", "删除确认",
  6.                 MessageBoxButtons.OKCancel,
  7.                 MessageBoxIcon.Question) == DialogResult.OK)
  8.                 {
  9.                     try
  10.                     {
  11.                         this.dataGridView1.Rows[e.RowIndex].Selected = true;//选中鼠标所在的当前行
  12.                         //DataGridViewRow currentRow = this.dataGridView1.Rows[e.RowIndex];

  13.                         // 删除对应的Region
  14.                         string class_pos = this.dataGridView1.Rows[e.RowIndex].Cells["Class"].Value.ToString();   //获取单元格列名为‘Class’的值
  15.                         string row_pos = this.dataGridView1.Rows[e.RowIndex].Cells["Row"].Value.ToString();   //获取单元格列名为‘Row’的值
  16.                         string col_pos = this.dataGridView1.Rows[e.RowIndex].Cells["Col"].Value.ToString();   //获取单元格列名为‘Col’的值

  17.                         // 删除行对应的region
  18.                         int classMove = Convert.ToInt32(class_pos);   //缺陷的类别
  19.                         double RowMove = Convert.ToDouble(row_pos);   //行坐标的中心值
  20.                         double ColMove = Convert.ToDouble(col_pos);   //列坐标的中心值

  21.                         lock (locker)
  22.                         {
  23.                             // 根据【RowMove, ColMove】删除xx
  24.                             xx
  25.                             // 先获取坐标信息,再删除dategrid
  26.                             this.dataGridView1.Rows.RemoveAt(e.RowIndex);
  27.                         }

  28.                     }
  29.                     catch { }
  30.                 }
  31.             }
复制代码

参考:1】C#如何使用右键菜单【contextMenuStrip】











回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Python|Opencv|MATLAB|Halcom.cn ( 蜀ICP备16027072号 )

GMT+8, 2024-11-25 14:47 , Processed in 0.217241 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表