From 295f8f56e3078c8f7f2170a32f5431712d626c28 Mon Sep 17 00:00:00 2001 From: CJKmkp <2564608840@qq.com> Date: Wed, 31 Dec 2025 16:36:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=85=89=E6=A0=87=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复开启后不显示的问题 --- Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs | 17 +++++++++-- Ink Canvas/MainWindow_cs/MW_TouchEvents.cs | 33 ++------------------- 2 files changed, 18 insertions(+), 32 deletions(-) diff --git a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs index 5e38e500..daff6d14 100644 --- a/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs +++ b/Ink Canvas/MainWindow_cs/MW_ShapeDrawing.cs @@ -1828,6 +1828,11 @@ namespace Ink_Canvas private void inkCanvas_MouseMove(object sender, MouseEventArgs e) { if (isMouseDown) MouseTouchMove(e.GetPosition(inkCanvas)); + + if (Settings.Canvas.IsShowCursor) + { + SetCursorBasedOnEditingMode(inkCanvas); + } } private void inkCanvas_MouseUp(object sender, MouseButtonEventArgs e) @@ -2054,13 +2059,21 @@ namespace Ink_Canvas } private void MainWindow_OnMouseMove(object sender, MouseEventArgs e) { - if (e.StylusDevice == null) + if (Settings.Canvas.IsShowCursor) { System.Windows.Forms.Cursor.Show(); + SetCursorBasedOnEditingMode(inkCanvas); } else { - System.Windows.Forms.Cursor.Hide(); + if (e.StylusDevice == null) + { + System.Windows.Forms.Cursor.Show(); + } + else + { + System.Windows.Forms.Cursor.Hide(); + } } } } diff --git a/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs b/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs index 421ff4f4..a544c5cf 100644 --- a/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs +++ b/Ink Canvas/MainWindow_cs/MW_TouchEvents.cs @@ -289,33 +289,11 @@ namespace Ink_Canvas LogHelper.WriteLogToFile("保持当前线擦模式"); } } - SetCursorBasedOnEditingMode(inkCanvas); - inkCanvas.CaptureStylus(); ViewboxFloatingBar.IsHitTestVisible = false; BlackboardUIGridForInkReplay.IsHitTestVisible = false; - // 确保手写笔模式下显示光标 - if (Settings.Canvas.IsShowCursor) - { - inkCanvas.ForceCursor = true; - inkCanvas.UseCustomCursor = true; - - // 根据当前编辑模式设置不同的光标 - if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint) - { - inkCanvas.Cursor = Cursors.Arrow; - } - else if (inkCanvas.EditingMode == InkCanvasEditingMode.Ink) - { - var sri = Application.GetResourceStream(new Uri("Resources/Cursors/Pen.cur", UriKind.Relative)); - if (sri != null) - inkCanvas.Cursor = new Cursor(sri.Stream); - } - - // 强制显示光标 - System.Windows.Forms.Cursor.Show(); - } + SetCursorBasedOnEditingMode(inkCanvas); if (inkCanvas.EditingMode == InkCanvasEditingMode.EraseByPoint || inkCanvas.EditingMode == InkCanvasEditingMode.EraseByStroke @@ -416,6 +394,7 @@ namespace Ink_Canvas inkCanvas.ReleaseStylusCapture(); ViewboxFloatingBar.IsHitTestVisible = true; BlackboardUIGridForInkReplay.IsHitTestVisible = true; + SetCursorBasedOnEditingMode(inkCanvas); } private void MainWindow_StylusMove(object sender, StylusEventArgs e) @@ -439,13 +418,7 @@ namespace Ink_Canvas } catch { } - // 确保手写笔移动时光标保持可见 - if (Settings.Canvas.IsShowCursor) - { - inkCanvas.ForceCursor = true; - inkCanvas.UseCustomCursor = true; - System.Windows.Forms.Cursor.Show(); - } + SetCursorBasedOnEditingMode(inkCanvas); var strokeVisual = GetStrokeVisual(e.StylusDevice.Id); var stylusPointCollection = e.GetStylusPoints(this);