如果給乙個控制項同時新增了單擊事件和雙擊事件,那麼在觸發雙擊事件前必然會觸發單擊事件,為了解決這個問題,在網上一頓找,在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 ...