C# Form 사용자 정의 커서

6324 단어 form
WinForm 코드는 다음과 같습니다.
 1 using System;

 2 using System.Reflection;

 3 using System.Runtime.InteropServices;

 4 using System.Windows.Forms;

 5 

 6 namespace KeleyiColorCursor

 7 {

 8 public partial class CursorForm : Form

 9 {

10 [DllImport("user32.dll")]

11 public static extern IntPtr LoadCursorFromFile(string fileName);

12 

13 [DllImport("user32.dll")]

14 public static extern IntPtr SetCursor(IntPtr cursorHandle);

15 

16 [DllImport("user32.dll")]

17 public static extern uint DestroyCursor(IntPtr cursorHandle);

18 

19 public CursorForm()

20 {

21 InitializeComponent();

22 Cursor myCursor = new Cursor(Cursor.Current.Handle);

23 string m_cursorFile = @"D:\keleyi\pen_r.cur";

24 

25 //pen_r.cur      :

26 //http://down.keleyi.com/files/cursors/pen_r.cur

27 

28 

29 //        

30 // m_cursorFile = @"D:\keleyi\dinosau2.ani";

31 //http://down.keleyi.com/files/cursors/dinosau2.ani

32 

33 IntPtr colorCursorHandle = LoadCursorFromFile(m_cursorFile);

34 

35 

36 myCursor.GetType().InvokeMember("handle", BindingFlags.Public |

37 BindingFlags.NonPublic | BindingFlags.Instance |

38 BindingFlags.SetField, null, myCursor,

39 new object[] { colorCursorHandle });

40 this.Cursor = myCursor;

41 }

42 }

43 }

 
실행 후 커서를 창에 옮기면 커서가 사라집니다. 커서 파일을 특정 폴더에 다운로드하지 않았기 때문입니다.커서 파일 다운로드: http://down.keleyi.com/files/cursors/dinosau2.anihttp://down.keleyi.com/files/cursors/pen_r.cur
전재자: http://keleyi.com/a/bjad/vvks7sw7.htm

좋은 웹페이지 즐겨찾기