RadioButton: Welcher RadioButton ist gesetzt - ohne if-Gewurschtel?



  • Wie kann ich herausfinden welcher RadioButton in einer Form gerade gesetzt ist, ohne über unzählige ifs die einzelnen Buttons zu überprüfen?

    Die müssen ja irgendwie durchnummeriert sein. Aber wie greife ich darauf zu?

    Oder muss ich mir wirklich eine Methode schreiben die mir das gewünschte Ergebnis zurückliefert?

    Ist wahrscheinlich trivial, aber in meinem Buch wird es eben immer so gemacht.

    PS: Visual Studio 2003, falls das was ausmacht...



  • gib all deinen RadioButtons das selbes CheckedChange Event, prüfe in der Methode ob das Checked Property true ist, und merk dir dieses RadioButton. Im Tag Property vom RadioButton kann man ja Actionsauslösende Informationen hinterlegen, so kann man sich die if-Überprüfung sparen.



  • O.K. daas mit dem einheitlichen Event ist logisch. Ich habe das jetzt so gemacht (RadioButtuns sollen Werte von 0 - n liefern):

    private void RadioButtonChanged(object sender, System.EventArgs e)
    {
        checkedButton = ((RadioButton)sender).TabIndex;
    }
    

    Es funktionert wunderbar, aber ist das so wirklich O.K.?

    Vielen Dank btw 🙂



  • Und gleich noch eine Frage hinterher:

    Wie mache ich das ganze rückwärts? Also wie kann ich aus dem vorher gewonnenen "index" nun wieder das jeweilige Button setzen?



  • Soweit ich weiß gibt es die Komponente RadioButtonArray. Die hat schon einen Index, den du dann auch setzen kannst. 😃



  • Ist bestandteil von Microsoft.VisualBasic.Compatibility.VB6 und aber der Version ".NET Framework Class Library Version 2.0 RTM" auch erreichbar, aber before ich VB Komponenten benutzen würde, würde ich persönlich lieber einen anderen Weg gehen.



  • Jo, das sehe ich wie unknown. Danke trotzdem 😉


Anmelden zum Antworten