CheckBoxObject.DesignExt.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System.Windows.Forms;
  2. using System.Drawing;
  3. using FastReport.Utils;
  4. namespace FastReport
  5. {
  6. partial class CheckBoxObject
  7. {
  8. #region Public Methods
  9. /// <inheritdoc/>
  10. public override SizeF GetPreferredSize()
  11. {
  12. if ((Page as ReportPage).IsImperialUnitsUsed)
  13. return new SizeF(Units.Inches * 0.2f, Units.Inches * 0.2f);
  14. return new SizeF(Units.Millimeters * 5, Units.Millimeters * 5);
  15. }
  16. /// <inheritdoc/>
  17. public override SmartTagBase GetSmartTag()
  18. {
  19. return new CheckBoxSmartTag(this);
  20. }
  21. /// <inheritdoc/>
  22. public override void OnMouseDown(MouseEventArgs e)
  23. {
  24. if (Editable && !Config.WebMode)
  25. {
  26. Checked = !Checked;
  27. Report report = Report;
  28. if (report != null)
  29. {
  30. Preview.PreviewControl preview = report.Preview;
  31. if (preview != null)
  32. {
  33. // update current page in a cache
  34. report.PreparedPages.ModifyPage(Report.Preview.PageNo - 1, Page as ReportPage);
  35. // redraw the preview
  36. preview.Refresh();
  37. }
  38. }
  39. }
  40. else base.OnMouseDown(e);
  41. }
  42. #endregion
  43. }
  44. }