調用外部滑鼠樣式,一般情況有兩種,一種是調用滑鼠檔案cur、ani檔案(cur是靜態游標檔案,ani是動畫游標檔案)。
做法,自訂游標檔案嵌入dll和調用的方法。把滑鼠樣式cur檔案添加入資源檔(這曉得吧,就是開啟項目的property,點擊資源,ctrl+v進去),記住在Resources裡面選擇cur檔案,點擊屬性,修改產生操作為內嵌資源。(這樣做事為了控制項封裝時候一起封裝,如果你是在from中用,那當我沒說)
代碼如下:
this.Cursor = new Cursor(GetType(), "Resources.hmove.cur");
記住GetType()是為了獲得Resources在哪個項目下,如果報錯,請檢查名字是否正確?是否選定資源為內嵌資源?
另外一種是直接把png、jpg圖片做為滑鼠游標。
public void SetCursor(Bitmap cursor, Point hotPoint)
{
int hotX = hotPoint.X;
int hotY = hotPoint.Y;
Bitmap myNewCursor = new Bitmap(cursor.Width*2 - hotX, cursor.Height*2 - hotY);
Graphics g = Graphics.FromImage(myNewCursor);
g.Clear(Color.FromArgb(0, 0, 0, 0));
g.DrawImage(cursor, cursor.Width - hotX, cursor.Height - hotY, cursor.Width, cursor.Height);
IntPtr iptr = myNewCursor.GetHicon();
this.FindForm().Cursor = new Cursor(iptr);
g.Dispose();
myNewCursor.Dispose();
cursor.Dispose();
}
調用方法 Bitmap a=(Bitmap)Bitmap.FromFile("myCur.png");
SetCursor(a, new Point(0, 0));
第二種可以向第一種轉換,使用ArtCursors滑鼠編輯器,不會用也沒關係,只需要匯入png,匯出cur就成。因為我驗證了第二種在調用多次的時候,會出現“GDI+一般性錯誤”的報錯提示。所以最好是調用一次儲存Cursor變數是最好的解決辦法。切忌反覆調用~