我希望事件仅在双击按钮时发生,而不是在单击按钮时发生事件。遗憾的是,双击事件没有出现在 IDE 的事件列表中。
有人知道解决这个问题的好方法吗?谢谢!
最佳答案
不,标准按钮不会对双击使用react。请参阅 Button.DoubleClick 的文档事件。它不会对双击使用react,因为在 Windows 中按钮总是对单击使用react,而从不对双击作出 react 。
你讨厌你的用户吗?因为您将创建一个与系统中任何其他按钮的行为不同的按钮,而某些用户永远不会弄清楚这一点。
也就是说,您必须创建一个从 Button
派生的单独控件来事件到此(因为 SetStyle 是 protected 方法)
public class DoubleClickButton : Button
{
public DoubleClickButton()
{
SetStyle(ControlStyles.StandardClick | ControlStyles.StandardDoubleClick, true);
}
}
然后,您必须在代码中手动添加 DoubleClick
事件处理程序,因为它仍然不会显示在 IDE 中:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
doubleClickButton1.DoubleClick += new EventHandler(doubleClickButton1_DoubleClick);
}
void doubleClickButton1_DoubleClick(object sender, EventArgs e) {
}
}
关于WinForms如何调用按钮上的双击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13486245/