如何注册RowLeave事件

时间:2015-06-13 01:44:18

标签: c# winforms datagridview

我在VSTO插件中有一个表单。我想注册FormX_RowLeave()方法。我注册了这样的函数,因为我使用的是可视化设计器。

this.clientsProjectHistoryDataGridView.CellLeave += new System.Windows.Forms.DataGridViewCellEventHandler(this.clientsProjectHistoryDataGridView_CellLeave);

但我不知道如何用RowLeave做到这一点。我找不到任何示例或在文档中找到它。我在文档中找到了方法,但没有在如何注册事件处理程序。我已经尝试使用visual studio的功能来显示可用的方法或对象,以找到适用于RowLeave的DataGridViewXXXEventHandler,但我找不到一个。不在文档中或我看过的任何其他地方。

由于

3 个答案:

答案 0 :(得分:1)

  

但我不知道如何用RowLeave做到这一点。有什么建议?我找不到任何示例或在文档中找到它。我在docs中找到了方法,但没有在如何注册事件处理程序

DataGridView有一个RowLeave事件属性,您可以通过在设计器中双击它来订阅该属性(通过单击确保您在事件页面上em>闪电图标):

enter image description here

答案 1 :(得分:0)

this.clientsProjectHistoryDataGridView.RowLeave += this.clientsProjectHistoryDataGridView_RowLeave;

答案 2 :(得分:0)

为了在事件触发时处理事件,您需要注册事件处理程序。事件处理程序是一种匹配事件所需的签名(也称为委托)的方法。根据{{​​3}},事件需要一个the docs for DataGridView.RowLeave代理方法, 方法签名如下所示:

void DataGridViewCellEventHandler(
    Object sender,
    DataGridViewCellEventArgs e
)

您所要做的就是编写一个与该签名匹配的方法(按照惯例,它的名称类似于clientsProjectHistoryDataGridView_RowLeave)。首先,在代码中设置事件处理方法。它可能看起来像

private void DataGridViewCellEventHandler(Object sender, DataGridViewCellEventArgs e){
{
    //do stuff, casting the sender if needed
}

然后只需注册您的DataGridView事件,通常是在构造函数或Form_Load事件中。

this.clientsProjectHistoryDataGridView.RowLeave += DataGridViewCellEventHandler;