簡體   English   中英

如何注冊 RowLeave 事件

[英]How to Register the RowLeave event

我在 VSTO 插件中有一個表單。 我想注冊 FormX_RowLeave() 方法。 我注冊了這樣的函數,因為我使用的是視覺設計器。

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

但我不知道如何用 RowLeave 做到這一點。 我找不到任何示例或在文檔中找到它。 我在文檔中找到了方法,但沒有找到如何注冊事件處理程序。 我已經嘗試使用 Visual Studio 的功能來顯示可用的方法或對象來查找適用於 RowLeave 的 DataGridViewXXXEventHandler,但我找不到。 不在文檔中或我看過的其他任何地方。

謝謝

但我不知道如何用 RowLeave 做到這一點。 有什么建議? 我找不到任何示例或在文檔中找到它。 我在文檔中找到了方法,但沒有找到如何注冊事件處理程序

DataGridView有一個RowLeave事件屬性,您可以通過在設計器中雙擊它來訂閱它(通過單擊小閃電圖標確保您在事件頁面上):

在此處輸入圖片說明

this.clientsProjectHistoryDataGridView.RowLeave += this.clientsProjectHistoryDataGridView_RowLeave;

為了在事件觸發時處理事件,您需要注冊一個事件處理程序。 事件處理程序是一種與事件期望的簽名(也稱為委托)相匹配的方法。 根據DataGridView.RowLeave的文檔,該事件需要一個DataGridViewCellEventHandler委托的方法,它具有如下所示的方法簽名:

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM