我在VSTO插件中有一个表单。我想注册FormX_RowLeave()方法。我注册了这样的函数,因为我使用的是可视化设计器。
this.clientsProjectHistoryDataGridView.CellLeave += new System.Windows.Forms.DataGridViewCellEventHandler(this.clientsProjectHistoryDataGridView_CellLeave);
但我不知道如何用RowLeave做到这一点。我找不到任何示例或在文档中找到它。我在文档中找到了方法,但没有在如何注册事件处理程序。我已经尝试使用visual studio的功能来显示可用的方法或对象,以找到适用于RowLeave的DataGridViewXXXEventHandler,但我找不到一个。不在文档中或我看过的任何其他地方。
由于
答案 0 :(得分:1)
但我不知道如何用RowLeave做到这一点。有什么建议?我找不到任何示例或在文档中找到它。我在docs中找到了方法,但没有在如何注册事件处理程序
DataGridView
有一个RowLeave
事件属性,您可以通过在设计器中双击它来订阅该属性(通过单击确保您在事件页面上em>闪电图标):
答案 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;