第一種方式,你如何選擇基於EventArgs的你的行動。如果e發送一些值,您應該創建自定義EventArgs類,該類具有給定值的屬性。 例如:
public class ActionEventArgs : EventArgs
{
public ActionEventArgs(string valueName)
{
this.YourTypeValueName = valueName;
}
public YourType YourTypeValueName { get; set;}
}
此外,你應該像建立CustomEventHandler:
public delegate void ActionEventHandler(object sender, ActionEventArgs args)
然後,您可以創建類似ActionDoSth1(),ActionDoSth2每個動作不同的方法,等等。 更改您的OnClick爲接受ActionEventArgs而不是EventArgs的和 然後就可以使用交換機內部的OnClick,例如:
protected override void OnClick(ActionEventArgs e)
{
switch(e.YourTypeValueName)
{
case sth1:
{
ActionDoSth1();
}
break;
case sth1:
{
ActionDoSth2();
}
break;
...
...
}
base.OnClick(e);
}
第二種方法是使動作的虛擬和每個操作創建子類SubButton的,你重寫行動隨你便。 在這種情況下,您將針對每種情況設置不同的按鈕,並且不需要創建ActionEventArgs。如果您想要在一個SubButton類中執行所有操作,請忽略此項。
OnClick()方法引發Click事件。誰的唯一目的就是讓每個按鈕在點擊按鈕時都有自己的專用動作。爲什麼你不使用Click很難理解,必須是隧道視覺的案例。 –