Wie komme ich zur CheckedChanged-Methode?



  • Hallo,
    ich bin Anfänger in C#. Ich möchte eine kleine Anwendung programmieren, in der Radio Buttons und Group Boxes in einem Formular vorkommen.
    Wenn ich das Formular gezeichnet habe und auf die Group Box doppelklicke, fügt Visual C# eine Methode ein:

    private void groupBox1_Enter(object sender, EventArgs e)
    {
    
    }
    

    Wenn ich auf "Rückgängig" klicke, kommt folgende Fehlermeldung:
    "Das Rückgängigmachen dieses Vorgangs kann möglicherweise den Verlust vorgenommener Änderungen nach sich ziehen. Der Vorgang repräsentiert alle im Designer durchgeführten Änderungen, bevor das Codefenster angezeigt wurde. Die Änderungen gehen verloren, wenn sie den Vorgang fortsetzen. Möchten sie diese Änderungen rückgängig machen?"

    Ich kann zwar "Enter" in "CheckedChanged" ändern, wie von mir gewünscht, aber dann meckert der Compiler:

    Fehler 1 'Optionsgruppen3.Form1' enthält keine Definition für 'groupBox1_Enter', und es konnte keine Erweiterungsmethode 'groupBox1_Enter' gefunden werden, die ein erstes Argument vom Typ '_1123Optionsgruppen3.Form1' akzeptiert (Fehlt eine Using-Direktive oder ein Assemblyverweis?).

    Ich verwende Visual 2013 Express.
    Kann mir jemand weiterhelfen?
    Vielen Dank im Voraus!



  • Schalte im Dialogeditor bei den Control-Eingeschaften auf die Event-Ansicht um.



  • Eine GroupBox zeigt nur einen Rahmen um Controls an. Mit groupBox1_Enter erhälst du nur das Ereignis,
    dass eines der Controls dieser GroupBox vom Anwender aktiviert wurde. Für die Ereignisse CheckedChanged
    musst du die Ereignismethoden der Controls (RadioButtons) hinzufügen.

    Zum weiteren Verständnis hier ein Beispiel mit 2 GroupBoxes mit je 2 RdioButtons und einem Button für die aktuelle Auswahl.

    public partial class Form1 : Form
        {
            private int radiobuttonchecked = 1;
            public Form1()
            {
                InitializeComponent();
            }
            private void groupBox1_Enter(object sender, EventArgs e)
            {
                radioButton1.Checked = true;
                MessageBox.Show("groupBox1_Enter");
            }
            private void groupBox2_Enter(object sender, EventArgs e)
            {
                radioButton3.Checked = true;
                MessageBox.Show("groupBox2_Enter");
            }
            private void radioButton1_CheckedChanged(object sender, EventArgs e)
            {
                MessageBox.Show("radioradioButton1_CheckedChanged");
                radiobuttonchecked = 1;
            }
            private void radioButton2_CheckedChanged(object sender, EventArgs e)
            {
                MessageBox.Show("radioButton2_CheckedChange");
                radiobuttonchecked = 2;
            }
            private void radioButton3_CheckedChanged(object sender, EventArgs e)
            {
                MessageBox.Show("radioButton3_CheckedChange");
                radiobuttonchecked = 3;
            }
            private void radioButon4_Checkedchanged(object sender, EventArgs e)
            {
                MessageBox.Show("radioButton4_CheckedChange");
                radiobuttonchecked = 4;
            }
            private void button1_Click(object sender, EventArgs e)
            {
                MessageBox.Show("radiobuttonchecked  " + radiobuttonchecked.ToString());
            }
    

Anmelden zum Antworten