private void btnScreenshot_Click(object sender, RoutedEventArgs e) { WaitingCount++; var saver = Core.Screenshot(); string fname; if (Keyboard.Modifiers.HasFlag(ModifierKeys.Control)) { var dlg = new SaveFileDialog() { Filter = "PNG file (*.png)|*.png|JPEG file (*.jpg)|*.jpg|BMP file (*.bmp)|*.bmp", Title = "保存屏幕截图", AddExtension = true, OverwritePrompt = true, CheckPathExists = true, ValidateNames = true, }; if (dlg.ShowDialog() != true) { return; } fname = dlg.FileName; } else { fname = $"{DateTime.Now.ToString("yyyyMMdd-HHmmss")}.png"; } try { saver(fname); } catch (Exception ex) { new TextDialog(ex).ShowDialog(); } finally { WaitingCount--; } }