Benutzer mit den meisten Antworten
Ich verstehe das nicht oder bin ich doch zu blöd ?

Frage
-
Hallo Leute,
es geht immer noch um meine gescheckten Radiobuttons in der zweiten Form. Hab die tollen Hinweise von Kookiller Dennis Becker ausprobiert, doch ohne Erfolg. Ich glaub ich bin wirklich zu blöd das umzusetzen.
Das ist mein Bildschirm, beim ersten Aufruf von dem Toolstrip Einstellungen.
Hier noch mal der dazu gehörende Code:
In der Form1:
private: System::Void spielfeldToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) { Point neueGroesse; // Boolean auswahl; /*einstellungenDialog ^ausw = gcnew einstellungenDialog(); ausw->ShowDialog(this);*/ einstellungenDialog ^neueWerte = gcnew einstellungenDialog(); //wenn der Dialog über die "OK"-Schaltlfäche beendet wird if (neueWerte->ShowDialog() == Windows::Forms::DialogResult::OK) { // String ^s = "raddioButton1024"; // array<System::String ^>^ data = s->Split('*'); // int^ height = Int32::Parse(data[1]); // int^ width = Int32::Parse(data[0]); // // for each ( Control^ radioButton1024 in groupBox1)//Anstelle aller Controls solltest du nur die eines Containerelements nutzen //{ // if(radioButton1024->GetType() == RadioButton::typeid)//Typ abprüfen // { // if(((RadioButton^)radioButton1024 )->Text->Equals(height+"*"+width))//Wird das richtige angezeigt? // { // ((RadioButton^)radioButton1024 )->Checked = true;//Status setzen // } // } //} // auswahl = neueWerte->ausWahl(); //die neue Größe holen neueGroesse = neueWerte->liefereWert(); einstellungenDialog ^form2 = gcnew einstellungenDialog(); form2->ShowDialog(this); /*if (neueWerte = radioButton1024->Checked)*/ //neueWerte->ausWahl->radioButton1024->Checked = true; //den Dialog wieder schließen neueWerte->Close(); /*if (auswahl = radioButton1024) radioButton1024->Checked = true;*/ //das Formular ändern this->Width = neueGroesse.X; this->Height = neueGroesse.Y; //neu ausrichten this->Left = (Screen::PrimaryScreen->Bounds.Width - this->Width) / 2; this->Top = (Screen::PrimaryScreen->Bounds.Height - this->Height) / 2; //die Zeichenfläche neu beschaffen zeichenflaeche = spielfeld->CreateGraphics(); //das Spielfeld neu setzen setzeSpielfeld(); //Spielfeld löschen zeichenflaeche->Clear(spielfeld->BackColor); //und einen neuen Ball und einen neuen Schläger zeichnen neuerBall(); } /*pong::einstellungenDialog ^ausw = gcnew einstellungenDialog(); ausw->ShowDialog(); if(auswahl = radioButton1024) radiobButon1024 = Checked;*/ }
Der Code für die Form2
Point liefereWert() { Point rueckgabe; if (radioButton320->Checked == true) { rueckgabe = Point(320,200); //radioButton320 -> Checked = true; } if (radioButton640->Checked == true) //{ rueckgabe = Point(640,480); //radioButton640 -> Checked = true; //} if (radioButton1024->Checked == true) { rueckgabe = Point(1024,768); //radioButton1024 ->Checked; } if (radioButtonMaximal->Checked == true) { rueckgabe = Point(Screen::PrimaryScreen->Bounds.Width, Screen::PrimaryScreen->Bounds.Height); //radioButtonMaximal -> Checked; } return rueckgabe; } //Boolean ausWahl() //{ // //Boolean ergebnis; // if (radioButton320 -> Checked == true) // /*ergebnis = radioButton320 -> Checked;*/ // return radioButton320->Checked; // else // return false; // if (radioButton640 -> Checked == true) // /*ergebnis = radioButton640 -> Checked;*/ // return radioButton640->Checked; // else // return false; // if (radioButton1024 -> Checked == true) // /*ergebnis = radioButton1024 -> Checked;*/ // return radioButton1024->Checked; // else // return false; // if (radioButtonMaximal -> Checked == true) // /*ergebnis = radioButtonMaximal -> Checked;*/ // return radioButtonMaximal->Checked; // else // return false; // /*return ergebnis;*/ //}
Die erste Auswahl funktioniert, doch ich bekomme es einfach nicht gebacken, das dann auch das Radiobutton1024 beim nächsten Aufruf ausgewählt ist, bleibt oder wie auch immer.
Nach dem Schließen der Form2 sieht es wieder so aus.
Wie ihr seht ist das vor eingestellte Radiobutton markiert und nicht Radiobutton1024.
Wie zum Kuckuck noch mal funktioniert das? Währe die Radiobuttonabfrage und auch die Radiobuttons auf der Form1, dann würde das kein Problem darstellen. Warum funktioniert checkedchanged oder checked funktion nicht auch hier? Und was für eine Schnittstelle müsste ich einbauen, damit die Auswahl auch bestehen bleibt, wenn die Form2 geschlossen wird? Man das kann doch nicht so schwer sein.
Selbst in den Büchern, die ich mir besorgt habe (unter anderem auch C#) ist diesbezüglich nichts, aber auch rein garnichts zu finden. Codebeispiele in der Hilfe Visual C++ sind für mich unverständliche Codefragmente zu finden, die nur irritieren, weil nicht verstanden.
Man da häng ich schon ne Ewigkeit dran und komm einfach nicht auf die Lösung. (Windows Forms mit C++ macht keinen Sinn) ist mir bekannt, aber soll ich ich jetzt aufgeben, wo ich nur noch drei Einheiten zu bearbeiten habe?
Antworten
-
Hei Koopakiller
Das ist lieb!!! Werde ich morgen Abend nach der Arbeit machen. Werde es mit dem Weindows7 "zipper" zippen.
Für Heute werde ich mich damit nur noch mit dem ausgedruckten Programm beschäftigen und mir ein paar Anmerkungen machen.
Bis morgen Abend dann.
lempy
- Als Antwort markiert lempy Sonntag, 13. Oktober 2013 15:52
Alle Antworten
-
Hallo,
grundsätzlich würde ich dir nicht raten "kurz vor dem Ziel" auf zu geben. Und ab und zu macht C++/CLI auch mal Sinn, von daher ist es nicht zu 100% sinnlos.Damit wir allerdings wirklich noch mehr als nur die Theorie erzählen können, wäre es nicht schlecht, wenn du mal das Projekt hochlädst. (> Skydrive)
Wenn nicht jeder das Projekt sehen soll, dann kannst du es auch an koopakillerlive.de senden.
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke. -
Hei Koopakiller
Das ist lieb!!! Werde ich morgen Abend nach der Arbeit machen. Werde es mit dem Weindows7 "zipper" zippen.
Für Heute werde ich mich damit nur noch mit dem ausgedruckten Programm beschäftigen und mir ein paar Anmerkungen machen.
Bis morgen Abend dann.
lempy
- Als Antwort markiert lempy Sonntag, 13. Oktober 2013 15:52