朗朗 发表于 2008-6-28 17:15

如何将一个双击事件改成两个单击事件?

如题
我想对同一个按钮输入两个单击事件,但是如果点击间隔时间短的话,就会生成一个双击事件
举例说明吧
就好像我们编写的计算器程序
我想输入99,如果我连续快速点击按钮“9”,程序会认为我输入的双击事件而不予响应

三断笛 发表于 2008-6-28 17:21

单击事件里记录单击次数和单击延时
单击一次记录时间和单击次数
再次单击时,若此时单击次数为2而且未超过规定时延则认为是一次双击,同时将单击次数和时延清零,并执行相关操作

朗朗 发表于 2008-6-28 18:10


谢谢
研究一下

永夜的极光 发表于 2008-6-28 19:04

如果你用的是按钮,那点击多快都没问题

如果用的是其它的控件,比如Picturebox,那可以这样
[quote][color=Gray]'VB语法高亮(by 永夜的极光) V1.03[/color]
[color=Green]Private Sub[/color] Picture1_Click[color=Magenta]()[/color]
  Text1.Text [color=Magenta]=[/color] Text1.Text [color=Magenta]&[/color] [color=DarkOliveGreen]"9"[/color]
[color=Green]End Sub

Private Sub[/color] Picture1_DblClick[color=Magenta]()[/color]
  Picture1_Click
[color=Green]End Sub[/color]
[/quote]

flyue 发表于 2008-6-28 20:07

嘿嘿,哪天我也做一个VB代码着色器。问一下那个VB的完整关键字在哪里找啊?
[quote][font=Fixedsys][size=4][color=008000]// VC语法高亮(by Flyue) V1.00
[/color][color=0000ff]private[/color]:
[color=0000ff]void[/color] Picture1_Click()
{
        Text1.Text += [color=ff0000]"9"[/color];
}

[color=0000ff]void[/color] Picture1_DblClick()
{
        Picture1_Click();
}[/size][/font][/quote]

永夜的极光 发表于 2008-6-28 21:06

and begin case call class continue do each else elseif end erase error event exit false for function get gosub goto if implement in load loop lset me mid new next not nothing on or property raiseevent rem resume return rset select set stop sub then to true unload until wend while with withevents attribute alias as boolean byref byte byval const compare currency date declare dim double enum explicit friend global integer let lib long module object option optional preserve private public redim single static string type variant
关键字

还有很多函数,我没有全找出来,目前只有这么几个Len LenB LBound UBound Left Mid Right InStr StrComp Split IIf

flyue 发表于 2008-6-29 19:22

hoho,VB的关键字蛮多的嘛
记得好像在VB里会自带一个关键字查询工具

永夜的极光 发表于 2008-6-29 19:55

查API的倒是有一个,查关键字的没见过

瞳晃 发表于 2008-6-29 19:57

直接将事件改成响应mousedown就行了么

multiple1902 发表于 2008-6-29 20:19

[quote][bo][un]瞳晃[/un] 在 2008-6-29 19:57 的发言:[/bo]

直接将事件改成响应mousedown就行了么 [/quote]
那我用键盘按空格,就不响应了,这样用户体验不好

朗朗 发表于 2008-7-2 18:34

[quote][bo][un]永夜的极光[/un] 在 2008-6-28 19:04 的发言:[/bo]

如果你用的是按钮,那点击多快都没问题

如果用的是其它的控件,比如Picturebox,那可以这样
[/quote]

这个方法巧妙

页: [1]

编程论坛