我做一个自定义控件,怎么给这个自定义控件加单击和双击事件,代码如下:
高二 2004-02-12 01:04:40 [DefaultProperty(""),ToolboxData("<{0}:MyButton runat=server></{0}:MyButton>")]
[Designer(typeof(ButtonDesigner))]
/// <summary>
/// button 的摘要说明。
/// </summary>
public class MyButton: Control, IPostBackEventHandler
{
// Defines the Click event.
public event EventHandler Click;
public event EventHandler DbClick;
//Invoke delegates registered with the Click event.
protected virtual void OnClick(EventArgs e)
{
if (Click != null)
{
Click(this, e);
}
}
protected virtual void OnDbClick(EventArgs e)
{
if (DbClick != null)
{
DbClick(this,e);
}
}
// Define the method of IPostBackEventHandler that raises change events.
public void RaisePostBackEvent(string eventArgument)
{
OnClick(new EventArgs());
OnDbClick(new EventArgs());
}
protected override void Render(HtmlTextWriter output)
{
output.Write("<INPUT TYPE = submit name = " + this.UniqueID +
" Value = 'Click Me' />");
}
internal string GetDesignCode()
{
return "<INPUT TYPE = submit name = " + this.UniqueID + " Value = 'Click Me' />";
}
}
public class ButtonDesigner:ControlDesigner
{
public override string GetDesignTimeHtml()
{
try
{
return ((MyButton)Component).GetDesignCode();
}
catch(Exception eorr)
{
return GetErrorDesignTimeHtml(eorr);
}
}
}
}
我这样做是分不清是单击还是双击