PreviewForm.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. Init();
  14. }
  15. private void PreviewForm_FormClosed(object sender, FormClosedEventArgs e)
  16. {
  17. Done();
  18. }
  19. private void PreviewForm_KeyDown(object sender, KeyEventArgs e)
  20. {
  21. if (e.KeyData == Keys.Escape)
  22. Close();
  23. }
  24. private void PreviewForm_Shown(object sender, EventArgs e)
  25. {
  26. Preview.Focus();
  27. }
  28. private void Init()
  29. {
  30. if (Config.RestoreFormState(this, true))
  31. WindowState = FormWindowState.Maximized;
  32. }
  33. private void Done()
  34. {
  35. Config.SaveFormState(this);
  36. }
  37. public override void UpdateDpiDependencies()
  38. {
  39. base.UpdateDpiDependencies();
  40. Preview.UpdateDpiDependencies();
  41. }
  42. public PreviewForm()
  43. {
  44. InitializeComponent();
  45. UIUtils.CheckRTL(this);
  46. UpdateDpiDependencies();
  47. }
  48. }
  49. }