ToolStripTextAngleButton.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using FastReport.Utils;
  2. using System;
  3. using System.Drawing;
  4. using System.Windows.Forms;
  5. namespace FastReport.Controls
  6. {
  7. internal class ToolStripTextAngleButton : ToolStripDropDownButton
  8. {
  9. private AngleControl control;
  10. public event EventHandler AngleChanged;
  11. public int Angle
  12. {
  13. get => control.Angle;
  14. set => control.Angle = value;
  15. }
  16. private void control_AngleChanged(object sender, EventArgs e)
  17. {
  18. AngleChanged?.Invoke(this, EventArgs.Empty);
  19. }
  20. public ToolStripTextAngleButton(Control owner)
  21. {
  22. DisplayStyle = ToolStripItemDisplayStyle.Image;
  23. control = new AngleControl();
  24. control.AngleChanged += control_AngleChanged;
  25. control.Scale(new SizeF(owner.DpiMultiplier(), owner.DpiMultiplier()));
  26. DropDown = new FRToolStripDropDown(control);
  27. DropDown.Opening += (s, e) => control.UpdateDpiDependencies(owner);
  28. }
  29. }
  30. }