自定义控件体会
首先定義一個事件的函數簽名(參數的格式)--代理
public delegate void ComputeSalaryCallback(string EmpID,double Salary);
在類型中聲明類型所包含的事件名稱,與事件觸發的邏輯
public event ComputeSalaryCallback OnComputeSalaryDone;
在一個函數中,聲明事件觸發的邏輯,換句話說,當如下函數被調用的時候,觸發OnComputeSalaryDone事件:
public virtual double computeSalary( )
{ OnComputeSalaryDone( mstrEmpID,mdblBaseSalary);
?? return mdblBaseSalary;
}
定義事件處理函數,以及將事件連接到事件處理函數,連接就像是 委托 到那個函數
public static void SalaryHander(string EmpID,double Salary)
{
????Console.WeiteLine(”員工:員工代號={0},工資={1}”,EmpID,Salary);
}
OnComputeSalaryDone+=new ComputeSalaryCallback(SalaryHandler);
以上就完成了一個事件的整體,一旦調用computesalary()函數,就會觸發事件OnComputeSalaryDone,并引發事件處理函數。如果連接到多個事件處理函數,則會依次執行連接的時間處理函數。
另外可以把事件定義放到組件當中,然后在其他類里聲明事件處理函數,進行處理。
public delegate void ComputeSalaryCallback(string EmpID,double Salary);
在類型中聲明類型所包含的事件名稱,與事件觸發的邏輯
public event ComputeSalaryCallback OnComputeSalaryDone;
在一個函數中,聲明事件觸發的邏輯,換句話說,當如下函數被調用的時候,觸發OnComputeSalaryDone事件:
public virtual double computeSalary( )
{ OnComputeSalaryDone( mstrEmpID,mdblBaseSalary);
?? return mdblBaseSalary;
}
定義事件處理函數,以及將事件連接到事件處理函數,連接就像是 委托 到那個函數
public static void SalaryHander(string EmpID,double Salary)
{
????Console.WeiteLine(”員工:員工代號={0},工資={1}”,EmpID,Salary);
}
OnComputeSalaryDone+=new ComputeSalaryCallback(SalaryHandler);
以上就完成了一個事件的整體,一旦調用computesalary()函數,就會觸發事件OnComputeSalaryDone,并引發事件處理函數。如果連接到多個事件處理函數,則會依次執行連接的時間處理函數。
另外可以把事件定義放到組件當中,然后在其他類里聲明事件處理函數,進行處理。
轉載于:https://www.cnblogs.com/zlhxinxi83/archive/2008/02/13/1067895.html
總結
- 上一篇: 缓存(销毁)依赖
- 下一篇: 转 .NET 2.0 SqlDepend