如何实现伪双击事件
大体都是用两次单击的时间差来判断一下是否是双击。
SystemInformation.DoubleClickTime默认是500
第一种方式:可以参考http://blog.csdn.net/zbssoft/article/details/5602658
private void comboBox1_MouseDown(object sender, MouseEventArgs e)
{
TimeSpan sp = DateTime.Now - lastDownTime;
if (sp.Milliseconds <= SystemInformation.DoubleClickTime)
{
System.Console.WriteLine("DoubleClick");
}
else
{
System.Console.WriteLine("Click");
}
lastDownTime = DateTime.Now;
}
Derexpress中的TreeList控件触发双击事件的时候,总会触发单击事件。为了处理单击和双击的时候分别处理不同的代码,解决方案如何:
第二种方式:http://www.devexpress.com/Support/Center/p/S136873.aspx。记得是在Timer控件的Interval 属性为500
private void tlDokumente_MouseClick(object sender, MouseEventArgs e) {
timer1.Start();
}
private void treeList1_MouseDoubleClick(object sender, MouseEventArgs e) {
needHandleMouseClick = false;
// perform your code here
//...
//System.Diagnostics.Process.Start(file);
}
private void timer1_Tick(object sender, EventArgs e) {
timer1.Stop();
if (needHandleMouseClick) {
// your code here
//...
// wbDokument.Navigate(file);
}
needHandleMouseClick = true;
}
作者:阿笨
【官方QQ一群:跟着阿笨一起玩NET(已满)】:422315558
【官方QQ二群:跟着阿笨一起玩C#(已满)】:574187616
【官方QQ三群:跟着阿笨一起玩ASP.NET(已满)】:967920586
【官方QQ四群:Asp.Net Core跨平台技术开发(可加入)】:829227829
【官方QQ五群:.NET Core跨平台开发技术(可加入)】:647639415
【网易云课堂】:https://study.163.com/provider/2544628/index.htm?share=2&shareId=2544628
【腾讯课堂】:https://abennet.ke.qq.com
【51CTO学院】:https://edu.51cto.com/sd/66c64
【微信公众号】:微信搜索:跟着阿笨一起玩NET