[英]C# Custom event for Custom Control WinForm
我已經搜索過了,有幾個答案,但是我不知道該怎么做。
我有一個帶有文本框和列表視圖的自定義控件。 當用戶開始在文本框中鍵入內容時,列表視圖將填充所有與鍵入的文本匹配的內容。(這是用戶的搜索框)。 用戶正在輸入客戶名稱以查找客戶。
我想要做的是,當用戶輸入客戶並選擇了客戶時,我需要將客戶名稱從自定義控件的文本框中傳遞到我的主項目中。
為此,我認為我需要一個自定義事件,當選擇一個客戶時,它將引發一個事件以通知主應用程序。
我該怎么做,謝謝。
您需要做三件事。
1.在自定義控件中定義事件(目前,未添加任何特殊事件參數)。
public event EventHandler CustomerSelected { get; set; }
private void OnCustomerSelected() {
var customerSelected = CustomerSelected;
if (customerSelected != null) {
customerSelected(this, EventArgs.Empty);
}
}
2.必要時觸發事件。 您可以通過在選擇客戶時調用OnCustomerSelected方法在自定義控件中執行此操作。
3.以您的主要形式處理事件。 您可以使用類似的方法來做到這一點(我使用過lambda,也可以定義一個事件處理程序方法,無論您喜歡什么)。
this.customerControl1.CustomerSelected += (s,e) => {
// This runs when a customer is selected.
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.