ToggleCard.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Regular);
  51. }
  52. private void Label_MouseEnter(object sender, EventArgs e)
  53. {
  54. Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Underline);
  55. }
  56. private void Label_Click(object sender, EventArgs e)
  57. {
  58. if (Label.Tag == null) return;
  59. _subForm.SetTip(Label.Tag.ToString());
  60. _subForm.ShowDialog(this);
  61. }
  62. private void Label_MouseHover(object sender, EventArgs e)
  63. {
  64. Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Underline);
  65. }
  66. }
  67. }