【问题标题】:Getting the location of cell when clicked in DataGridView C# windows form在DataGridView C# windows窗体中单击时获取单元格的位置
【发布时间】:2013-10-10 08:03:52
【问题描述】:

我在 Windows 窗体应用程序中有一个 DataGrid,我想获取用户单击的单元格的位置并显示该行的内容。

我有 4 列,行数各不相同。

有人能指点我正确的方向吗?

干杯

【问题讨论】:

  • 抱歉,它适用于 Windows 窗体应用程序。没有服务器或类似的东西
  • 抱歉,我错误地认为这是 ASP .net(我看到的标签不存在!)。对不起。
  • 别担心,我正在尝试您在我们说话时发布的解决方案 =D
  • 如果您遇到困难,我已经编辑了我的答案以包含一些演示代码。

标签: c# datagrid datagridview click


【解决方案1】:

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellclick.aspx

您将希望利用 CellClick 事件来处理此问题。

将事件处理程序方法(类似于上面文章中的方法)连接到您的数据网格,您就可以在传递给该方法的参数中获得所需的所有信息(例如e.RowIndex)。

创建事件处理程序

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
  //Do what you want here with e.RowIndex or e.ColumnIndex, for example
}

连接起来

this.dataGridView1.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellClick);

【讨论】:

  • 嗨,你的代码的第二部分是做什么的?对不起,我是初学者。
  • 没问题,我们在某个阶段都是初学者。我包含的第一个代码 sn-p 是一个处理事件的方法。即当发生某些事情时将调用此方法。第二个代码 sn-p 是“这是何时触发事件处理程序”的代码。所以我们得到了dataGridView1,我们正在将我们创建的事件处理程序方法“连接”到CellClick 事件。代码的“+=”部分实际上是说“将此事件处理程序添加到此事件”。当有人现在调用 CellClick 事件时,它现在知道调用事件处理程序。
猜你喜欢
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多