以编程方式单击DataGridView C#中的行标题

时间:2014-07-14 05:14:10

标签: c# datagridview

我在任何地方搜索代码以编程方式在处理某个代码序列后单击特定的DataGridView行标题。

我发现的所有内容都允许选择或突出显示行,列或单元格;但没有任何日期点击行标题即。解雇

private void dgvMyGrid_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) {}

方法

对此的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

解决方案取决于您想要达到的目标。

简单地让dgvMyGrid_RowHeaderMouseClick中的代码以最简单的方式运行,就像Tzah Mama写的那样,只需编写:

dgvMyGrid_RowHeaderMouseClick(null, null);   

注1:将事件代码添加到文档非常重要,可以用这种特殊而非正常的方式调用它。特别是因为这不提供代码可能期望的参数。

注意2:如果您的代码需要一些参数,您可以尝试提供它们:

  • sender简单地称为dgvMyGrid
  • 是微不足道的
  • 如果您不编码DataGridView实例,而是继承类,则只需使用this

  • 替换dvg名称
  • 第二个参数很复杂,并非所有部件都可以轻松提供,但也可能不需要。

以下是创建它的基本代码:

int row = ??    // your target row
int col= -1;    // no column
int x = 0;      // no offsets..
int y = 0;      // ..
int delta = 0; // no mouse wheel

DataGridViewCellMouseEventArgs E = new DataGridViewCellMouseEventArgs(col, row, x, y,
                          new MouseEventArgs(MouseButtons.Left, clicks, x, y, delta));

注3:有时重要的是要知道事件是由真实用户操作还是通过代码调用的。留下一个paremter null是一个简单的方法来表明这一点。再说一遍:Key是文档

但也许你需要rowHeader点击的效果?这可能是行选择,具体取决于SelectionMode。这将通过调用脚本工作!相反,您也必须对选择进行编码:

 DGV1.Rows[row ].Selected = true;