在视觉项目中编写的框架需要能够选择产品或复制产品等方便后续换型,视觉调试仅需调试相机图像、调试视觉相关参数、标定,再试跑调试优化参数。
C# dataGridView1 鼠标点击某一行能够计算出是那一行
使用CellMouseClick事件
首先,在Form的构造函数或者Load事件中,为DataGridView的CellMouseClick事件绑定处理方法。
public partial class Form1 : Form
{ public Form1() { InitializeComponent(); dataGridView1.CellMouseClick += DataGridView1_CellMouseClick; } private void DataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (e.RowIndex >= 0) { int clickedRow = e.RowIndex; MessageBox.Show($"你点击了第 {clickedRow + 1} 行"); } }
}
在上述代码中,当用户在DataGridView中的单元格上点击鼠标时,会触发CellMouseClick事件。通过检查e.RowIndex,如果它大于等于0(因为 - 1表示用户点击了标题行或者无效区域),就可以得到点击的行索引。这里显示一个消息框告知用户点击的是第几行,实际应用中可以根据需求进行更复杂的操作。
使用RowHeaderMouseClick事件
类似地,也可以使用RowHeaderMouseClick事件。
public partial class Form1 : Form
{ public Form1() { InitializeComponent(); dataGridView1.RowHeaderMouseClick += DataGridView1_RowHeaderMouseClick; } private void DataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { int clickedRow = e.RowIndex; MessageBox.Show($"你点击了第 {clickedRow + 1} 行"); }
}
这个事件是当用户点击行标题(通常是每行左边的小方块区域)时触发的,e.RowIndex直接给出了点击的行索引。
获取某行单元格的值
本实例中唯一变化的是行,列总是0,实现获取某一个单元格的代码如下:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e){if (e.RowIndex >= 0){clickedRow = e.RowIndex;//点击某一个的值nameRow = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();}}