ToggleCard.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System;
  2. using System.Windows.Forms;
  3. namespace Optimizer
  4. {
  5. public sealed partial class ToggleCard : UserControl
  6. {
  7. public event EventHandler ToggleClicked;
  8. SubForm _subForm;
  9. public ToggleCard()
  10. {
  11. InitializeComponent();
  12. this.DoubleBuffered = true;
  13. _subForm = new SubForm();
  14. this.IsAccessible = true;
  15. Label.IsAccessible = true;
  16. Toggle.IsAccessible = true;
  17. Panel.IsAccessible = true;
  18. this.AccessibleName = LabelText;
  19. Label.AccessibleName = LabelText;
  20. Toggle.AccessibleName = LabelText;
  21. Panel.AccessibleName = LabelText;
  22. }
  23. public string LabelText
  24. {
  25. get { return Label.Text; }
  26. set
  27. {
  28. Label.Text = value;
  29. this.AccessibleName = value;
  30. Label.AccessibleName = value;
  31. Toggle.AccessibleName = value;
  32. Panel.AccessibleName = LabelText;
  33. }
  34. }
  35. public bool ToggleChecked
  36. {
  37. get { return Toggle.Checked; }
  38. set { Toggle.Checked = value; }
  39. }
  40. private void Toggle_CheckedChanged(object sender, EventArgs e)
  41. {
  42. if (ToggleClicked != null) ToggleClicked(sender, e);
  43. }
  44. private void Label_MouseLeave(object sender, EventArgs e)
  45. {
  46. Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Regular);
  47. }
  48. private void Label_MouseEnter(object sender, EventArgs e)
  49. {
  50. Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Underline);
  51. }
  52. private void Label_Click(object sender, EventArgs e)
  53. {
  54. if (Label.Tag == null) return;
  55. _subForm.SetTip(Label.Tag.ToString());
  56. _subForm.ShowDialog(this);
  57. }
  58. private void Label_MouseHover(object sender, EventArgs e)
  59. {
  60. Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Underline);
  61. }
  62. }
  63. }