The*_*lar 5 events button double-click winforms
单击一次按钮时,不希望发生事件,我希望仅在双击按钮时才会发生该事件.遗憾的是,双击事件不会出现在IDE中的事件列表中.
有谁知道这个问题的好方法?谢谢!
shf*_*301 18
没有标准按钮不会对双击做出反应.请参阅Button.DoubleClick事件的文档.它不会对双击做出反应,因为在Windows按钮中始终会对点击作出反应,而不会双击.
你讨厌你的用户吗?因为您将创建一个按钮,其行为与系统中的任何其他按钮不同,并且某些用户永远不会想到这一点.
那说你必须创建一个单独的控件派生Button到事件到这个(因为SetStyle是一个受保护的方法)
public class DoubleClickButton : Button
{
public DoubleClickButton()
{
SetStyle(ControlStyles.StandardClick | ControlStyles.StandardDoubleClick, true);
}
}
Run Code Online (Sandbox Code Playgroud)
然后你必须DoubleClick在你的代码中手动添加事件hanlder,因为它仍然不会出现在IDE中:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
doubleClickButton1.DoubleClick += new EventHandler(doubleClickButton1_DoubleClick);
}
void doubleClickButton1_DoubleClick(object sender, EventArgs e) {
}
}
Run Code Online (Sandbox Code Playgroud)