在Windows窗體中,通過設置控件的屬性無法將鼠標設置為動畫圖標的形式,如果要實現該功能,可以通過API函數LoadCursorFromFile和SetClassLong實現。這兩個函數的聲明代碼如下:
[DllImport("user32", EntryPoint = "LoadCursorFromFile")]
public static extern int LoadCursorFromFile(string lpFileName);
[DllImport("user32", EntryPoint = "SetSystemCursor")]
public static extern void SetSystemCursor(int hcur, int i);
注意:調用API函數時,需要導入using System.Runtime.InteropServices命名空間。
示例 定義鼠標為指定的動畫圖標。
本示例實現的是,程序運行的時候,當鼠標移動到窗體上時,鼠標顯示動畫效果。
程序主要代碼如下。
private void frmPicut_Load(object sender, EventArgs e)
{
string reportPath = Application.StartupPath.Substring(0, Application.StartupPath.Substring(0,
Application.StartupPath.LastIndexOf("")).LastIndexOf(""));
reportPath += @"sl3210mouse.ani";
int cur = LoadCursorFromFile(reportPath);
SetSystemCursor(cur, 32512);
}
private void frmPicut_FormClosing(object sender, FormClosingEventArgs e)
{
int cur = LoadCursorFromFile(@"C:WINDOWSCursorsarrow_m.cur");
SetSystemCursor(cur, 32512);
}