Wie eine Globale Variable
-
Hallo
Ich hab ne frage womit ich mich jetzt seit nem geschlagen Tag mit rummühe... Wie erstellt man in einer Windows Form Anwendung eine Globale Variable ?Ich hab in meinem Programm 2 Formen die beide auf eine Variable zugreifen müssten um genau zu sein soll es eine Bool Variable sein, die true ist solange Form2 noch nicht offen ist und mit false Zeigt das die Form2 offen ist.
Wo muss ich die Variable wie erstellen?
Ansonnsten klapp eigendlich alles auch das Aufrufen von Form2 und das Schließen nur ned die Deffinition der Variablen.
Grüße BlackIkarus
p.s. Hoffe das ist verständlich was ich wissen will ^^
-
Gobale Variablen gibt es in .Net nicht. Ist auch gut so, und für dein Problem brauchst du die eh nicht meines erachtens.
Benutz einfach die Shown und Closed Events der Form um mitzukriegen wenn sie gezeigt bzw. geschlossen wurde.
-
Erstmal Danke für deine Antwort auch wenn ich nicht ganz verstehe wie ne Sprache ohne globale Variablen auskommen will
bzw wie ich ohne die auskomme da ich die doch recht oft verwende. Hab bisher nur Consolenanwendungen Programmiert gehabt und da für viele Funktionen welche benötigt.
Wie schafft man es wenn es keine Globalen Variablen gibt denn dann Informationen innerhalb des Programms in verschiedenen Bereichen/Formen weiterzureichen ? Gehen muss das doch irgendwie es kann doch nicht sein das die ersteller der Sprache einfach dachten da müsste man nix austauschen.
So sollte mein Code etwa aussehen:
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { Windows = gcnew Form2(); } private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { if(Window) Windows->Show(); } private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { if(Window==false) Windows->Close(); }
Also eine simple Überprüfung ist das true oder nicht nur die Deffinition der Variablen fehlte halt noch.
Die Window Variable sollte dann in Form2 beim erstellen auf false gesetzt werden und beim Schließen wieder auf true um so mehrfaches öffnen der Form2 zu unterbinden.Gibts da ne Alternative oder hab ich grade ein Brett vorm Kopf das man das irgendwie anders macht mit ner Klasse oder sowas? Sry bin leider noch Anfänger in Allem was keine Console oder ein µC ist.
Grüße BlackIkarus
-
Hallo
Ohne globale Variablen geh sehr gut. Du kannst die Klassen ja einfach mitgeben oder suchst im Netz mal nach Singleton-Pattern.
chrische
-
Ein Singleton ist auch nur ne globale Variable. Im Sonntagskleid ja, aber ändert nix an der grundsätzlichen "globalität" ihres Seins.
-
Hallo
Das ist mir schon klar. Ich habe ja gebeten im Netz zu suchen, da wäre man sicher auch über diese Dinge gestolpert.
chrische