Heim > Artikel > Backend-Entwicklung > C#-Entwicklungsbeispiel – benutzerdefiniertes Screenshot-Tool (9) mit benutzerdefiniertem Cursor und Cursor beim Aufnehmen von QQ-Screenshots (Bild)
Wenn Sie die Screenshot-Funktion von QQ verwenden, finden Sie den Cursor cool? Heute werde ich darüber sprechen, wie man einen benutzerdefinierten Cursor anwendet und den QQ-Screenshot-Cursor in unserem Screenshot-Tool verwendet.
Erforderlicher CursorDateidownload: C#Softwareentwicklungsbeispiel: Passen Sie die in Ihrem eigenen Screenshot-Tool verwendete Cursordatei an.
Der erste Buchstabe des Wortes im Ressourcennamen wird in Großbuchstaben geändert.
#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); }
im elseFügen Sie die Bedingung hinzu:
this.Cursor = cursorDefault;Fügen Sie Code in der ExitCutImage-Methode hinzu:
this.Cursor = cursorDefault;Fügen Sie die Maus hinzu, um den Form1-Formularereignishandler aufzurufen: Hinzufügen Code für den
/// <summary> /// 鼠标进入Form1窗体事件处理程序 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_MouseEnter(object sender, EventArgs e) { this.Cursor = cursorDefault; }Konstruktor
von Form1:
Form1_Init();Ok, kompilieren, machen Sie einen Screenshot, um den Effekt zu sehen!
Andere werden in künftigen Funktionen verwendet.
Das obige ist der detaillierte Inhalt vonC#-Entwicklungsbeispiel – benutzerdefiniertes Screenshot-Tool (9) mit benutzerdefiniertem Cursor und Cursor beim Aufnehmen von QQ-Screenshots (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!