2
0

ToggleCard.cs 2.0 KB

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