1.创建一个事件类
public class EventMoveArgs : EventArgs
{
public EventMoveArgs(xx,xx)
{
.....
}
}
此处的事件类可以用来传递参数
2.声明委托和事件
public delegate void PieceMoveEventHandler(object sender, EventMoveArgs e);//参数名与事件类名
public event PieceMoveEventHandler PieceMoveEvent_Click;//注意名称一致
3.虚方法
protected virtual void OnPieceMove(EventMoveArgs e)
{
if (this.PieceMoveEvent_Click != null)
PieceMoveEvent_Click(this, e);
}
4.自定义控件内部的基本控件的事件并关联
private void uPB_Click(object sender, EventArgs e)//比如Button1_Click
{
OnPieceMove(new EventMoveArgs(0, -1));
}
以上准备好后,在新的Form中加载该控件,在面板上添加该控件后,查看事件,就可以看到PieceMoveEvent_Click了。
以上在POG项目中实现。