Laden...

Radiobutton-Auswahl ändert den Text am UI nicht

Erstellt von Delfis vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.393 Views
D
Delfis Themenstarter:in
24 Beiträge seit 2017
vor 6 Jahren
Radiobutton-Auswahl ändert den Text am UI nicht

Hallo an alle Forumsmitglieder!
Nachdem ich mich mit der Programmierung des Arduino in C intensiv beschäftigt habe, möchte ich auch weitergehend Programme in C# schreiben. Trotz Internetrecherche und des Handbuches "Einstieg in Visual C# 2013" finde ich allerdings keine Erklärung dafür, dass die Änderung der Radiobutton-Auswahl nicht auch zu einem entsprechend neuen Eintrag in die Textbox führt. Das Anklicken des Buttons sorgt korrekt für die Auswahl des ersten Radiobuttons und den Texteintrag. Kommentiere ich den Texteintrag aus, so bleibt das Textfeld immer leer:


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Funktionsgraph
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Xy_l.Checked = true;
            textBox1.Text = "Beide Achsen linear!";
        }

        private void beendenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void Xy_l_CheckedChanged(object sender, EventArgs e)
        {
            if (Xy_l.Checked)
            {
                textBox1.Text = "Beide Achsen linear!";
            }
         
        }

        private void Xl_ylog_CheckedChanged(object sender, EventArgs e)
        {
            if (Xl_ylog.Checked)
            {
                textBox1.Text = "x linear/y logarithmisch!";
            }
        }

        private void Xlog_yl_CheckedChanged(object sender, EventArgs e)
        {
            if (Xlog_yl.Checked)
            {
                textBox1.Text = "x logarithmisch/y linear!";
            }
        }

        private void Xy_log_CheckedChanged(object sender, EventArgs e)
        {
            if (Xy_log.Checked)
            {
                textBox1.Text = "Beide Achsen logarithmisch!";
            }
        }
    }
}

Hintergrund: Die Radiobutton-Auswahl soll eigentlich in einer zweiten Form abgefragt werden. Und wo jetzt die Textbox gefüllt wird, sollte ein Variablenwert erzeugt werden, der in der aufrufenden Form weiter verwendet wird. Die Übergabe von Variablenwerten zwischen verschiedenen Forms funktionierte normalerweise. In diesem Falle wurde allerdings kein Wert zurückgegeben. Deshalb bin ich einen Schritt zurückgegangen und habe versucht, das in einer einzigen Form nachzuvollziehen. Offensichtlich liegt in beiden Fällen der gleiche Fehler vor. Was mache ich also falsch, bzw. wie muss es richtig programmiert werden?

Danke vorab für Eure Hilfe!

1.029 Beiträge seit 2010
vor 6 Jahren

Hi,

mit 2 Tipps könnte man dir sicher helfen.

a) Wenn du hier Code postest - dann verwende bitte Code-Tags (das durcheinander will sonst keiner lesen)
b) Dein Problem sehe ich auf den ersten Blick in dieser Form nicht - allerdings ist das kein Problem, denn wo auch immer es liegt - der Debugger wird dir hier weiterhelfen was dir hier entgangen ist. Einfach mal durchsteppen.

Anleitung: [Artikel] Debugger: Wie verwende ich den von Visual Studio?

LG

J
251 Beiträge seit 2012
vor 6 Jahren

Erstmal folgendes funktioniert:


        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            if(radioButton1.Checked)
            {
                textBox1.Text = "1 ist gecheckt";
            }
        }

        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton2.Checked)
            {
                textBox1.Text = "2 ist gecheckt";
            }
        }

Wurden die Events evtl. nicht ordentlich abonniert?

M
368 Beiträge seit 2006
vor 6 Jahren

Wurden die RadioButtons auch in einem Container, z.B. einer GroupBox, zusammengefasst ? Damit funktioniert es unter VS 2017.

Goalkicker.com // DNC Magazine for .NET Developers // .NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray 😉

D
Delfis Themenstarter:in
24 Beiträge seit 2017
vor 6 Jahren
Radiobutton-Auswahl führt nicht zum erwarteten Ergebnis

Vielen Dank für die Unterstützung, inzwischen funktioniert es tatsächlich! 👍
Die Radiobuttons waren zunächst in einer Groupbox zusammengefasst, das Ergebnis war allerdings das gleiche.
Nachdem ich hinter jeder If-Abfrage einen Haltepunkt gesetzt hatte, stellte ich fest, dass außer dem Button-Teil kein einziger der Radiobutton-Programmteile aufgerufen wurde.
Ich habe darauf hin im Entwurfsmodus alle Radiobuttons nochmals doppelt angeklickt und die alten Programmteile gelöscht, offensichtlich hatte ich zuvor einen Fehler bei der Einbindung gemacht.