![](/img/trans.png)
[英]I want to programmatically generate a click on a DataGridView Row in C#
[英]Programmatically Click Row Header in DataGridView C#
我正在到处搜索代码,以在处理了某些代码序列之后以编程方式单击特定的DataGridView行标题。
我发现的所有内容都可以选择或突出显示行,列或单元格; 但到目前为止没有任何信息单击行标题,即。 发射
private void dgvMyGrid_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) {}
方法。
任何帮助,将不胜感激。
解决方案取决于您要实现的目标。
正如Tzah Mama所写,仅以最简单的方式使dgvMyGrid_RowHeaderMouseClick中的代码运行,就足以编写:
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:有时重要的是要知道事件是由真实的用户操作还是由代码调用的。 将参数保留为空是发出信号的一种简单方法。 再次:关键是文档 !
但是也许您需要单击rowHeader的效果 ? 根据SelectionMode,可能是行选择。 调用脚本将无法正常工作! 相反,您还必须对select进行编码:
DGV1.Rows[row ].Selected = true;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.