【问题标题】:How to create a custom double-click event for a Button如何为按钮创建自定义双击事件
【发布时间】:2011-05-22 19:28:55
【问题描述】:

我在 .NET Framework 上使用 C# 进行开发。我已经在 Button 上有一个事件,只需单击一下即可。我还想为同一个按钮双击双击事件。

如何在 Button 上创建双击事件?我试过这个,但它不起作用:

this.SetStyle(ControlStyles.StandardDoubleClick, true);
this.button1.DoubleClick += new System.EventHandler(button1_DoubleClick);

private void button1_DoubleClick(object sender, EventArgs e)
{            
    MessageBox.Show("You are in the Button.DoubleClick event.");
}

【问题讨论】:

  • 你是什么意思不起作用?具体错误是什么?运行时错误?编译错误?
  • 当我点击按钮时... MessageBox 不显示...
  • @SpeksETC 我希望它是一个编译错误,因为该事件未在 Button 类上声明...
  • 为了将来参考,Control.DoubleClick 事件的documentation 包含一个有用的参考表,指示各种控件如何处理(或不处理)该事件。

标签: c# winforms button double-click


【解决方案1】:

Button 控件(假设您使用的是 winforms 应用程序)不支持将双击作为本机事件。在触发DoubleClick 事件之前,您可能需要通过从框架提供的按钮继承来创建自己的控件,并在相关时间内监听两次点击。

【讨论】:

  • 除了这个答案之外,您的代码正在执行的this.SetStyle 适用于您的按钮所在的 Form,而不是按钮本身。如 Rowland 解释的那样,为了使其工作,您必须在自己的自定义类中子类化 Button 控件,设置此样式并引发 DoubleClick 事件。
猜你喜欢
  • 2011-11-08
  • 2014-10-31
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 2019-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多