Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Radiobutton-Auswahl ändert den Text am UI nicht
Delfis
myCSharp.de - Member



Dabei seit:
Beiträge: 24
Herkunft: Niedersachsen

Themenstarter:

Radiobutton-Auswahl ändert den Text am UI nicht

beantworten | zitieren | melden

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!
private Nachricht | Beiträge des Benutzers
Taipi88
myCSharp.de - Member

Avatar #avatar-3220.jpg


Dabei seit:
Beiträge: 1044
Herkunft: Mainz

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Jamikus
myCSharp.de - Member



Dabei seit:
Beiträge: 251
Herkunft: Oberhausen (NRW)

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
M.L.
myCSharp.de - Member



Dabei seit:
Beiträge: 265

beantworten | zitieren | melden

Wurden die RadioButtons auch in einem Container, z.B. einer GroupBox, zusammengefasst ? Damit funktioniert es unter VS 2017.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von M.L. am .
Attachments
Goalkicker.com
DNC Magazine for .NET Developers,
.NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray ;-)
private Nachricht | Beiträge des Benutzers
Delfis
myCSharp.de - Member



Dabei seit:
Beiträge: 24
Herkunft: Niedersachsen

Themenstarter:

Radiobutton-Auswahl führt nicht zum erwarteten Ergebnis

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers