Ein Problem mit RadioButtons



  • Hallo,
    ich habe 4 radioButtons(radioButton320, radioButton640, radioButton1024 und radioButtonMaximal) Die Eigenschaft "Checked" steht bei allen auf "false".
    Mit welcher Befehlszeile, schafft man es, dass der aktuelle Button markiert bleibt?
    if(radioButton320->Checked==true)
    redioButton320->Checked=true;
    hilft leider nicht. Es wird kein syntaktischer Fehler gemeldet, doch markiert bleibt keiner. Vielleicht kann mir jemand helfen!
    Gruß Tabit 😞



  • Hi,
    was meinst du mit markiert bleibt? Wenn alle auf false stehen ist auch keiner
    eingeschaltet.
    Klickst du auf einen Button und die Markierung verschwindet gleich wieder?

    Deine if-Abfrage bringt natürlich nichts. Schau dir das nochmal an.



  • Wenn ich radioButton640 markiere, bleibt er markiert. Dann klicke ich auf "Übernehmen"(Button) Der Dialog schließt sich und das Spielfeld öffnet sich und hat die eingestellte Größe 640*480. Beim nächsten Öffnen ist die Markierung weg. Sie soll aber bleiben! Hier Code für das Formular "einstellungenDialog"
    //die Methode liefert die ausgewählten Werte
    Point liefereWert() {
    Point rueckgabe;
    if (radioButton320->Checked == true)
    rueckgabe = Point(320,200);
    if (radioButton640->Checked == true)
    rueckgabe = Point(640,480);
    if (radioButton1024->Checked == true)
    rueckgabe = Point(1024,768);
    if (radioButtonMaximal->Checked == true)
    rueckgabe = Point(Screen::PrimaryScreen->Bounds.Width, Screen::PrimaryScreen->Bounds.Height);
    return rueckgabe;
    private: System::Void spielfeldToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
    Point neueGroesse;
    einstellungenDialog ^neueWerte = gcnew einstellungenDialog();
    //wenn der Dialog über die "OK"-Schaltlfäche beendet wird
    if (neueWerte->ShowDialog() == ::DialogResult::OK) {
    //die neue Größe holen
    neueGroesse = neueWerte->liefereWert();
    //den Dialog wieder schließen
    neueWerte->Close();
    //das Formular ändern
    Hier ein gescheiterter Versuch ///if(neueGroesse==Point(320,200))
    ///neueWerte->radioButton320->Checked=true;
    this->Width = neueGroesse.X;
    this->Height = neueGroesse.Y;
    //neu ausrichten
    this->Left = (Screen::PrimaryScreen->Bounds.Width - this->Width) / 2;
    this->Top = (Screen::PrimaryScreen->Bounds.Heigprht - this->Height) / 2;
    Das ist Code aus Form1



  • Da du ja immer wieder den Einstellungsdialog neu erzeugst, mußt du dir halt in einer Membervariablen den aktuellen Zustand merken und vor dem ShowDialog dann den entsprechenden RadioButton auf "checked" setzen.

    Hinweis: mach "neueGroesse" zu einer Membervariablen deiner Klasse...

    P.S. Bei nächsten Post von Code bitte Code-Tags benutzen!


Anmelden zum Antworten