Maison > Article > développement back-end > Exemple de développement C# - outil de capture d'écran personnalisé (9) utilisant un curseur personnalisé et un curseur lors de la prise de captures d'écran QQ (image)
Lorsque vous utilisez la fonction de capture d'écran de QQ, pensez-vous que son curseur est cool ? Aujourd'hui, je vais parler de la façon d'appliquer un curseur personnalisé et d'utiliser le curseur de capture d'écran QQ dans notre outil de capture d'écran.
Curseur requisTéléchargement du fichier : C#Exemple de développement logiciel. Personnalisez le fichier de curseur utilisé dans votre propre outil de capture d'écran
La première lettre du mot dans le nom de la ressource est remplacée par une majuscule.
#region 自定义光标 System.Windows.Forms.Cursor cursorCross = null; System.Windows.Forms.Cursor cursorDefault = null; System.Windows.Forms.Cursor cursorText = null; System.Windows.Forms.Cursor cursorColor = null; #endregion
[DllImport("user32.dll")] private static extern IntPtr LoadCursorFromFile(string fileName);
/// <summary> /// 从已有资源中获得光标 /// </summary> /// <param name="resource"></param> /// <returns></returns> public static Cursor getCursorFromResource(byte[] resource) { byte[] b = resource; FileStream fileStream = new FileStream("cursorData.dat", FileMode.Create); fileStream.Write(b, 0, b.Length); fileStream.Close(); Cursor cur = new Cursor(LoadCursorFromFile("cursorData.dat")); return cur; }
/// <summary> /// 窗口初始化事件处理程序 /// </summary> private void Form1_Init() { this.isCuting = false; this.beginPoint = new Point(0, 0); this.endPoint = new Point(0, 0); cursorDefault = getCursorFromResource(Properties.Resources.Cursor_Default); cursorCross = getCursorFromResource(Properties.Resources.Cursor_Cross); cursorText = getCursorFromResource(Properties.Resources.Cursor_Text); cursorColor = getCursorFromResource(Properties.Resources.Cursor_Color); }
dans elseAjouter la condition :
this.Cursor = cursorDefault;Ajouter du code dans la méthode ExitCutImage :
this.Cursor = cursorDefault;Ajouter la souris pour entrer dans le gestionnaire d'événements du formulaire Form1 : Ajouter codez le
/// <summary> /// 鼠标进入Form1窗体事件处理程序 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_MouseEnter(object sender, EventArgs e) { this.Cursor = cursorDefault; }constructeur
du Form1 :
Form1_Init();Ok, compilez, faites une capture d'écran pour voir l'effet !
D'autres seront utilisés dans les fonctions ajoutées à l'avenir.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!