PreviewForm.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using System.Windows.Forms;
  3. using FastReport.Utils;
  4. namespace FastReport.Forms
  5. {
  6. internal partial class PreviewForm : BaseForm
  7. {
  8. protected override void OnLoad(EventArgs e)
  9. {
  10. base.OnLoad(e);
  11. // restore form state in OnLoad event. This solves the problem with Maximized window state (bad behavior on dual monitor setup, and also windows focus issues)
  12. // also we have to remove WindowState = Maximized from InitializeComponent code
  13. if (Storage.RestoreFormState(true))
  14. WindowState = FormWindowState.Maximized;
  15. }
  16. private void PreviewForm_FormClosing(object sender, FormClosingEventArgs e)
  17. {
  18. if (Preview.IsAsyncReportRunning)
  19. {
  20. Preview.Report.Abort();
  21. e.Cancel = true;
  22. return;
  23. }
  24. Storage.SaveFormState();
  25. }
  26. private void PreviewForm_KeyDown(object sender, KeyEventArgs e)
  27. {
  28. if (e.KeyData == Keys.Escape)
  29. Close();
  30. }
  31. private void PreviewForm_Shown(object sender, EventArgs e)
  32. {
  33. Preview.Focus();
  34. }
  35. public override void UpdateDpiDependencies()
  36. {
  37. base.UpdateDpiDependencies();
  38. Preview.UpdateDpiDependencies();
  39. }
  40. public PreviewForm()
  41. {
  42. InitializeComponent();
  43. UIUtils.CheckRTL(this);
  44. UpdateDpiDependencies();
  45. }
  46. }
  47. }