ToggleCard.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. using System;
  2. using System.Windows.Forms;
  3. namespace Optimizer
  4. {
  5. public 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.AccessibleRole = AccessibleRole.CheckButton;
  19. //Label.AccessibleRole = AccessibleRole.CheckButton;
  20. //Toggle.AccessibleRole = AccessibleRole.CheckButton;
  21. //Panel.AccessibleRole = AccessibleRole.CheckButton;
  22. this.AccessibleName = LabelText;
  23. Label.AccessibleName = LabelText;
  24. Toggle.AccessibleName = LabelText;
  25. Panel.AccessibleName = LabelText;
  26. }
  27. public string LabelText
  28. {
  29. get { return Label.Text; }
  30. set
  31. {
  32. Label.Text = value;
  33. this.AccessibleName = value;
  34. Label.AccessibleName = value;
  35. Toggle.AccessibleName = value;
  36. Panel.AccessibleName = LabelText;
  37. }
  38. }
  39. public bool ToggleChecked
  40. {
  41. get { return Toggle.Checked; }
  42. set { Toggle.Checked = value; }
  43. }
  44. private void Toggle_CheckedChanged(object sender, EventArgs e)
  45. {
  46. if (ToggleClicked != null) ToggleClicked(sender, e);
  47. }
  48. private void Label_MouseLeave(object sender, EventArgs e)
  49. {
  50. if (!Options.CurrentOptions.ShowHelp) return;
  51. Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Regular);
  52. }
  53. private void Label_MouseEnter(object sender, EventArgs e)
  54. {
  55. if (!Options.CurrentOptions.ShowHelp) return;
  56. Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Underline);
  57. }
  58. private void Label_Click(object sender, EventArgs e)
  59. {
  60. if (Label.Tag == null || !Options.CurrentOptions.ShowHelp) return;
  61. _subForm.SetTip(Label.Tag.ToString());
  62. _subForm.ShowDialog(this);
  63. }
  64. private void Label_MouseHover(object sender, EventArgs e)
  65. {
  66. if (!Options.CurrentOptions.ShowHelp) return;
  67. Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Underline);
  68. }
  69. }
  70. }