当前位置: 代码迷 >> .NET组件控件 >> 复合控件事件,该怎么解决
  详细解决方案

复合控件事件,该怎么解决

热度:839   发布时间:2013-02-25 00:00:00.0
复合控件事件
不知道为什么,我做了一个复合控件,点击控件   中的按钮后,定义的事件会触发两次。下面帖出相关代码
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即可
  相关解决方案