讓WinForm控制項同時使用單擊和雙擊事件

2022-01-11 08:54:36 字數 850 閱讀 9515

如果給乙個控制項同時新增了單擊事件和雙擊事件,那麼在觸發雙擊事件前必然會觸發單擊事件,為了解決這個問題,在網上一頓找,在msdn上找到了微軟提供的解決方法:英文好的同學可以不往下看了,:-d。

其主要思想是:單擊滑鼠時,啟動乙個timer,timer起計時器作用,timer執行時間超過了一次雙擊滑鼠所用的最長時間,而第二次滑鼠點選事件還沒有發生時,就認為是單擊,反之,如果在乙個滑鼠雙擊所用時間的最長時間內,又一次觸發了滑鼠點選事件,則可視為雙擊。

以下是例項**:

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.windows.forms;

namespace doubleclick

//_doubleclicktimer的tick事件

private void _doubleclicktimer_tick(object sender, eventargs e)

else

_isdoubleclick = false;

_isfirstclick = true;

_milliseconds = 0;}}

//滑鼠按下事件

private void button1_mousedown(object sender, mouseeventargs e)

else}}

}}

讓控制項全屏顯示(WinForm)

1.應用winapi setparent 介面 dllimport user32.dll setlasterror true static extern intptr setparent intptr hwndchild,intptr hwndnewparent 複製 control.dock do...

C 讓控制項全屏顯示(WinForm)

經過摸索,暫時發現兩種可行方法,如果有誰知道其他方法,敬請告知。1.使用winapi setparent 介面 dllimport user32.dll setlasterror true static extern intptr setparent intptr hwndchild,intptr ...

C 讓控制項全屏顯示(WinForm)

經過摸索,暫時發現兩種可行方法,如果有誰知道其他方法,敬請告知。1.使用winapi setparent 介面 dllimport user32.dll setlasterror true static extern intptr setparent intptr hwndchild,intptr ...