不知道为什么,我做了一个复合控件,点击控件 中的按钮后,定义的事件会触发两次。下面帖出相关代码
private static readonly object EventSave=new object();
#region 创建子控件事件
protected override bool OnBubbleEvent(object source, EventArgs e)
{
bool handler=false;
try
{
if(e is CommandEventArgs)
{
CommandEventArgs ce=(CommandEventArgs)e;
if(ce.CommandName== "btnBackSave ")
{
OnSaveClick(EventArgs.Empty);
handler=true;
}
}
}
catch
{
}
return handler;
}
private void OnSaveClick(EventArgs e)
{
try
{
getOnePersonPurview();//自己的方法
EventHandler buttonSaveHandler=(EventHandler)Events[EventSave];
if(buttonSaveHandler != null)
{
buttonSaveHandler(this,e);
}
}
catch
{
}
}
------解决方案--------------------------------------------------------
你重写了OnBubbleEvent
又调用buttonSaveHandler
就是两次了
去掉OnBubbleEvent即可