Event-handler für die groupBox mit den radioButtons in C#
Habe ich einige radionButtons in groupBox und ich brauche Aktion, was ich nennen könnte "einen der radiobuttons.geprüft geändert" oder finden Sie heraus, von radiobutton-was index geändert wird.
Ich habe tryed, um finden es in der Liste der Ereignisse, aber ich konnte nicht das richtige zu finden.
Edit:
Um es klar: ich muss wissen, wenn existieren einige Händel für das, was ich Schreibe-handler-Methode für das goupBox nicht für einzelne radioButton. Ich weiß, wie Sie radiButton.checkedChanged, aber es ist nicht das, was ich zu finden bin ..
Oder anders ich muss wissen, welche Optionen haben die groupBox in die überwachung was passiert innerhalb dieser groupBox - ich meine nur die Handler für die groupBox. Ich finde handler "in der group-box ist etwas passiert" oder simimilar falls vorhanden.
Es ist in WFA (Windows Presentation Application) in Visual studio 2012.
- Möchten Sie vielleicht beginnen mit WPF in der Frage unterliegt, oder in den tags. Auch falsch getaggt.
- Ausser es ist nicht WPF aber WFA, warum es so wichtig es zu erwähnen? Es ist nicht klar genug, wenn ich schrieb, dass in C# gibt es einige diference in der Ereignisbehandlung in C#? Ich nehme an, dass, wenn es eine Programmiersprache sollte es das gleiche sein (Es scheint logisch für mich und ich habe keine Informationen, es ist es nicht - aber auch ich habe nicht alle, dass ist es, so Frage ich Sie, denn Sie hatte Probleme mit ihm).
- Auch konnte es nur 5 tags unter der Frage ...
- Ja, ich bin mit WPF, Nein, du nicht, aber danke. Ich bin schon mit der überprüft, geändert für einzelne radio-button. Ich muss wissen, ob existiert so etwas wie "Wert eines Objektes in der groupBox geändert" - ich meine event-handler für die groupBox nicht für Optionsfelder ... Vielleicht ist es noch nicht ... – user1097772 3 Stunden
- Also tut mir Leid, es war Tippfehler ..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, was Sie tun möchten, ist Draht bis alle RadioButtons' CheckedChanged-Ereignis auf die gleiche handler.
radioButton1.CheckedChanged += radioButtons_CheckedChanged;
keine Notwendigkeit, wrap-die neue Event-Handler um es also keine Notwendigkeit zu sagenradioButton1.CheckedChanged += new EventHandler(radioButtons_CheckedChanged);
Nichts gebaut, daß, soweit ich weiß.
Legen Sie die tag-Eigenschaft zu irgendeiner Art von Indikator (0-n) tun wird.
Hinzufügen CheckChangedHandler
Punkt alle Tasten CheckChanged Veranstaltungen an.
dann sowas.
Wenn Sie haben ein paar von diesen würde ich schauen bei einer radiogroup-Komponente.
Ich hatte das gleiche problem: ein Gruppenfeld Button Type (gbxButtonType) mit 6 radio-buttons und ein anderes Gruppenfeld Symbol Typ (gbxIconType) mit 8 radio-button. Wenn der Benutzer ausgewählt hat, ein radio-button aus jeder Gruppe im Feld, eine MessageBox erscheint mit der Auswahl angewendet wird, nach anklicken der DisplayButton. Mein problem war, dass die Gruppe die Boxen nicht über eine CheckedChanged-event. Die Lösung der AKN funktionierte perfekt:
Ähnlich davenewza Antwort (und wahrscheinlich hätte ein Kommentar, aber ich habe nicht genügend Ruf), aber mit dem event feuern nur einmal für die gesamte Gruppe von radio-buttons.
System.Windows.Formen.RadioButton.CheckedChanged
ist der Fall, Sie brauchen,
So etwas wie:
Ich denke, Ihr behandeln möchten, die Auswahl der radio-buttons innerhalb einer groupbox mit der groupbox-Steuerelement selbst.
Kann sein, Sie wollte diese grundsätzlich zu vermeiden code-Wiederholung.
(ich.e) hinzufügen überprüfen change-Ereignis für alle radio-button in der designer-das kann mühsam sein, wenn es mehr Kontrolle.
Da es bereits vorhanden, unter eine Gruppe, warum nicht die Gruppe control-Objekt zum Bearbeiten von Steuerelementen in es und legen Sie die Ereignisse.
Dies ist, wie ich verstanden habe, dein problem und damit die Lösung wie unten angegeben.
Einen gemeinsamen handler für alle radio-button-Steuerelement in der Gruppe Feld
Innerhalb der handler, können Sie feststellen, auf welche Schaltfläche wurde geändert, wie angegeben, von anderen und tun Sie die notwendigen Schritte aus.
//Hier gehen Sie mit freundlicher Genehmigung von Frank Jock Halliday
Groupbox begrenzen, nur ein radio-button aktiviert
So Setp1: die Sie zuweisen können, einen "CheckedChanged" event-handler an alle radio-button
Und Setp2: Umsetzung dieser event-handler wie folgt aus (Filtern nach Radio Button, Text)
Können Sie vielleicht tun Sie es mit Timer, aber das ist nur schlecht für die Optimierung, die einfache Lösung ist, dass für jede radiobutton-Sie fügen einfach nur eine Funktion als ChekedChanged Veranstaltung.