Пример #1
0
        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--;
            }
        }