程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#控制鼠標操作

C#控制鼠標操作

編輯:關於C#

控制鼠標操作包括很多種,如限定鼠標的移動范圍、設置鼠標的左右鍵、控制鼠標的顯示和隱藏等。本節中將通過兩個具體的示例來介紹有關控制鼠標操作方面的知識。

1.限定鼠標的移動范圍

利用API函數ClipCursor和GetWindowRect可以實現限定鼠標移動范圍的功能。API函數聲明如下:

[System.Runtime.InteropServices.DllImport("user32", EntryPoint = "ClipCursor")]
 public extern static int ClipCursor(ref  RECT lpRect);
 [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "GetWindowRect")]
 public extern static int GetWindowRect(int hwnd, ref  RECT lpRect);

示例 控制鼠標移動

本示例通過API函數ClipCursor和GetWindowRect實現了限定鼠標移動范圍的功能。

程序主要代碼如下。

單擊【控制鼠標移動】按鈕,鼠標只能在窗體中移動,關鍵代碼如下:public struct RECT//聲明參數的值
{
 public int left;
 public int top;
 public int right;
 public int bottom;
}
public void Lock(System.Windows.Forms.Form ObjectForm)
{
 RECT _FormRect = new RECT();
 GetWindowRect(ObjectForm.Handle.ToInt32(), ref _FormRect);
 ClipCursor(ref _FormRect);
}
單擊【恢復移動】按鈕,鼠標恢復移動,關鍵代碼如下:public void UnLock()
{
RECT _ScreenRect = new RECT();
_ScreenRect.top = 0;
_ScreenRect.left = 0;
_ScreenRect.bottom = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Bottom;
_ScreenRect.right = System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Right;
ClipCursor(ref  _ScreenRect); }

2.鼠標設置

設置鼠標包括設置鼠標的左右鍵、顯示與隱藏鼠標和設置雙擊鼠標的時間間隔等。通常使用API函數SwapMouseButton、ShowCursor、SetDoubleClickTime和GetDoubleClickTime對鼠標進行設置。這幾個函數的聲明如下:

[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SwapMouseButton")]
public extern static int SwapMouseButton(int bSwap);
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "ShowCursor")]
public extern static bool ShowCursor(bool bShow);
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetDoubleClickTime")]
public extern static int SetDoubleClickTime(int wCount);
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "GetDoubleClickTime")]
public extern static int GetDoubleClickTime();

示例 鼠標設置

本示例通過API函數對鼠標進行設置,通過SwapMouseButton函數實現隱藏鼠標光標, ShowCursor函數實現顯示鼠標光標,SetDoubleClickTime函數設置鼠標雙擊時間,GetDoubleClickTime函數獲取鼠標雙擊時間。

程序主要代碼如下。

單擊【獲取鼠標雙擊時間】按鈕,獲取雙擊時間,並在消息框中顯示,關鍵代碼如下:public string DoubleClickTime_Get()
{
 return GetDoubleClickTime().ToString();
}
單擊【設置鼠標雙擊時間】按鈕,在文本框中輸入設置時間,關鍵代碼如下:public void DoubleClickTime_Set(int MouseDoubleClickTime)
{
 SetDoubleClickTime(MouseDoubleClickTime);
}
單擊【隱藏鼠標】按鈕,鼠標在窗體上隱藏,關鍵代碼如下:public void Hide()
{
 ShowCursor(false);}

單擊【顯示鼠標】按鈕,鼠標顯示,關鍵代碼如下:

public void Show()
{
ShowCursor(true);}

單擊【鼠標左鍵】按鈕,鼠標用左鍵控制鼠標單擊事件,關鍵代碼如下:

private void bntLeft_Click(object sender, EventArgs e)
{
 this.DefaultLeftButton();}

單擊【鼠標右鍵】按鈕,鼠標用右鍵控制鼠標單擊事件,關鍵代碼如下:

private void bntRight_Click(object sender, EventArgs e)
{
 this.DefaultRightButton();}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved