C#中的button控件的双击事件
C#中的button控件在属性中找不到双击事件,但是编程的时候输入button.DoubleClick,在系统带的属性里又是可以找到双击的(就是.之后系统自己会显示的一些属性),这是怎么回事?
参考答案:Button实际上是有DoubliClick事件的,只是没有出现在事件列表中而且确实没用。
自己继承下Button,实现这个也不麻烦
public class ButtonEx:Button
{
public new event EventHandler DoubleClick;
DateTime clickTime;
bool isClicked = false;
protected override void OnClick(EventArgs e)
{
base.OnClick (e);
if(isClicked)
{
TimeSpan span = DateTime.Now - clickTime;
if(span.Milliseconds < SystemInformation.DoubleClickTime)
{
DoubleClick(this,e);
isClicked = false;
}
}
else
{
isClicked = true;
clickTime = DateTime.Now;
}
}
}