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)
{
}
}
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.
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.