diff --git a/Ink Canvas/MainWindow_cs/MW_Screenshot.cs b/Ink Canvas/MainWindow_cs/MW_Screenshot.cs index ae7ac7c1..fe5b694f 100644 --- a/Ink Canvas/MainWindow_cs/MW_Screenshot.cs +++ b/Ink Canvas/MainWindow_cs/MW_Screenshot.cs @@ -162,14 +162,13 @@ namespace Ink_Canvas internal async Task SaveAreaScreenShotToDesktop() { + var originalVisibility = Visibility; try { - var originalVisibility = Visibility; Visibility = Visibility.Hidden; await Task.Delay(200); var screenshotResult = await ShowScreenshotSelector(); - Visibility = originalVisibility; if (!screenshotResult.HasValue) { @@ -235,9 +234,12 @@ namespace Ink_Canvas } catch (Exception ex) { - Visibility = Visibility.Visible; ShowNotification($"截图失败: {ex.Message}"); } + finally + { + Visibility = originalVisibility; + } } private async Task AddScreenshotToNewWhiteboardPage(ScreenshotResult screenshotResult) diff --git a/Ink Canvas/Windows/ScreenshotSelectorWindow.xaml.cs b/Ink Canvas/Windows/ScreenshotSelectorWindow.xaml.cs index 5429f0be..2b373bc7 100644 --- a/Ink Canvas/Windows/ScreenshotSelectorWindow.xaml.cs +++ b/Ink Canvas/Windows/ScreenshotSelectorWindow.xaml.cs @@ -1112,8 +1112,19 @@ namespace Ink_Canvas int screenHeight = (int)(_currentSelection.Height * dpiScale); SelectedArea = new DrawingRectangle(screenX, screenY, screenWidth, screenHeight); + } + + if (SelectedArea.HasValue) + { DialogResult = true; } + else + { + HintText.Text = "请先选择截图区域"; + HintTextBorder.Visibility = Visibility.Visible; + return; + } + Close(); }