Label控件鼠标单击事件与双击事件同时存在该怎么办? Label控件鼠标单击事件与双击事件同时存在,当第一次双击时,只能完成单击事件,不能完成双击事件,只有再次双击时,才能完成双击事件,可是这样的话就没有双击的意义了,它的意义主要是体现快,而单击事件又不能少,请问这该怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以设置一个标志BOOL m_t; 要单击事件中 m_t=!m_t; if(FALSE==m_t) m_time1=GetTickCount(); else m_time2=GetTickCount(); 两次单击的时间在250毫秒内就响应相应的消息 if(m_time1-m_time2 <250||m_time1-m_time2>-250) IE双击事件同时触发一次单击事件。非IE,双击事件触发两次单击事件。以下代码可以区分单击和双击事件。在Firefox2.0,Firefox3.0,IE6,IE7,Chrome2,Safari3,Opera9.6下测试通过。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>区分单击和双击</title> <script type="text/javascript"> var flag=0; function clickTest() { if(!flag) { setTimeout("tt2();",300); } flag++; } function reset() { flag=0; } function singleClick() { var result=document.getElementById('result'); result.innerHTML=result.innerHTML+"click<br>"; reset(); } function dobuleClick() { var result=document.getElementById('result'); result.innerHTML=result.innerHTML+"dobule click<br>"; reset(); } function tt2() { if(flag==1) { singleClick(); } else { dobuleClick(); } } </script> </head> <body> <input type="button" ondblclick="clickTest();" onclick="clickTest();" value="click test" /> <div id="result"> </div> </body> </html>来源:http://www.linzhengjian.com/post/2009/08/05/Javascripte58cbae58886e58d95e587bbe5928ce58f8ce587bb.aspx GetTickCount()是哪个控件里的方法? 嗯,我测试了一下,双击时都是先触发单击。 不过,我要双及时不触发单及事件不知道如何解决。 我也想知道答案。 private void label1_Click(object sender, EventArgs e) { Console.WriteLine("this is click ."); } private void label1_DoubleClick(object sender, EventArgs e) { Console.WriteLine("this is doubleclick ."); } 怎么可能呢,控件的事件列表里面,Click和DoubleClick是两个事件啊,你可以分开编辑的 我不会调用API函数,我用的是int i=System.Environment.TickCount; 关于Socket实现网络封包监视代码的错误 对程序集的理解 C#链接数据库 关与TreeView的一点问题,希望高手今天帮解决下! 问一个DataTable 写入XML文件的问题 方法:this怎么是什么用法啊? ini文件有字节限制吗? 请问C#与VB.Net功能上有何区别? 如何取得一个错误的ID号 高手请进:关于DataGrid的问题,急??? 我的VS2005新建网站以及打开任何一个项目时出现“Microsoft visual studio 遇到了问题,需要关闭”错误 winform动态生成多个checkbox
BOOL m_t;
要单击事件中
m_t=!m_t;
if(FALSE==m_t)
m_time1=GetTickCount();
else
m_time2=GetTickCount(); 两次单击的时间在250毫秒内就响应相应的消息
if(m_time1-m_time2 <250||m_time1-m_time2>-250)
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>区分单击和双击</title>
<script type="text/javascript">
var flag=0;
function clickTest()
{
if(!flag)
{
setTimeout("tt2();",300);
}
flag++;
}
function reset()
{
flag=0;
}
function singleClick()
{
var result=document.getElementById('result');
result.innerHTML=result.innerHTML+"click<br>";
reset();
}
function dobuleClick()
{
var result=document.getElementById('result');
result.innerHTML=result.innerHTML+"dobule click<br>";
reset();
} function tt2()
{
if(flag==1)
{
singleClick();
}
else
{
dobuleClick();
}
}
</script>
</head>
<body>
<input type="button" ondblclick="clickTest();" onclick="clickTest();" value="click test" />
<div id="result">
</div>
</body>
</html>
来源:http://www.linzhengjian.com/post/2009/08/05/Javascripte58cbae58886e58d95e587bbe5928ce58f8ce587bb.aspx
嗯,我测试了一下,双击时都是先触发单击。
不过,我要双及时不触发单及事件不知道如何解决。
我也想知道答案。
private void label1_Click(object sender, EventArgs e)
{
Console.WriteLine("this is click .");
} private void label1_DoubleClick(object sender, EventArgs e)
{
Console.WriteLine("this is doubleclick .");
}