如何识别单击了哪个数据网格视图
本文关键字:数据 数据网 视图 网格 单击 何识别 识别 | 更新日期: 2023-09-27 18:34:19
我有一个Windows表单应用程序,上面有6个数据网格视图。我想知道用户是否单击了其中一个,单击了哪个数据网格视图。我为每个数据网格视图提供了单元格单击事件。
我想在这里使用它:
dgvArray[i].Rows[j].Cells[4].Value = GlobalData[j + i * 8 + interface * 64];
dgvArray
是一个 6 个DataGridViews
的数组。
发送方作为第一个参数传递给单击事件处理程序。将其强制转换为DataGridView
,您将拥有单击的控件。
应将所有 6 个事件指向单个事件处理程序,然后该处理程序使用 DataGridView 的 Tag 属性来标识事件来自哪一个事件。下面是一个示例:
dataGridView1.Tag = "DGV1";
dataGridView2.Tag = "DGV2";
dataGridView3.Tag = "DGV3";
dataGridView4.Tag = "DGV4";
dataGridView5.Tag = "DGV5";
dataGridView6.Tag = "DGV6";
private void dataGridView_CellClick(object sender,
DataGridViewCellEventArgs e)
{
DataGridView dgv = (DataGridView)sender;
//Use case 1:
string dgvTag = (string)dgv.Tag;
switch(dgvTag)
{
case "DGV1": /*Do Something*/ break;
case "DGV3": /*Do Something*/ break;
case "DGV3": /*Do Something*/ break;
case "DGV4": /*Do Something*/ break;
case "DGV5": /*Do Something*/ break;
case "DGV6": /*Do Something*/ break;
}
//Use case 2:
DataGridViewImageCell cell = dgv.Rows[e.RowIndex].Cells[e.ColumnIndex];
MessageBox.Show((string)cell.Value);
}