Laden...

Von Parameter EventArgs den Buttonstatus ermitteln

Erstellt von smolo vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.100 Views
S
smolo Themenstarter:in
1 Beiträge seit 2019
vor 5 Jahren
Von Parameter EventArgs den Buttonstatus ermitteln

Hallo,

Ich verwende den ToggleButton von hier:
https://www.codeproject.com/Tips/794577/Windows-Forms-ToggleButton

resp. hier sieht man auch den relevanten Code:
[Gelöst] Probleme mit ControlPaint.DrawBorder zwischen Form und eigenem Control

Nun möchte ich bei einem Status-Wechsel den neuen Status des Buttons ermitteln.

Wie lese ich den ButtonState aus dem Parameter e aus? ?(

private void ToggleButton1_ButtonStateChanged(object sender, ToggleButtonStateEventArgs e)
    {
    .... ButtonState ? ?

    }

Das Event ToggleButtonStateChanged ButtonStateChanged sieht so aus:

 public event ToggleButtonStateChanged ButtonStateChanged;

        protected void RaiseButtonStateChanged()
        {
            if (this.ButtonStateChanged != null)
                ButtonStateChanged(this, new ToggleButtonStateEventArgs(this.ToggleState));
        }


        public delegate void ToggleButtonStateChanged(object sender, ToggleButtonStateEventArgs e);

        public class ToggleButtonStateEventArgs : EventArgs
        {
            public ToggleButtonStateEventArgs(ToggleButtonState ButtonState)
            {
            }
        }

D
261 Beiträge seit 2015
vor 5 Jahren

Aus dem EventArgs Parameter e kannst du es gar nicht auslesen, weil der Konstruktur der ToggleButtonStateEventArgs Klasse den Parameter nicht persistent speichert.

Entweder du passt den Code an oder du castest den sender Parameter in einen ToggleButton und greifst auf das ToggleState Property zu.

4.939 Beiträge seit 2008
vor 5 Jahren

Die Klasse ToggleButtonStateEventArgs sieht noch nicht ausprogrammiert aus (denn so ist sie ziemlich sinnlos, dann könnte man gleich EventArgs stattdessen benutzen).

Also füge noch eine Eigenschaft für ToggleButtonState hinzu und befülle diese im Konstruktor.