C# Neues Formular öffnen

tom2600

Ensign
Registriert
Mai 2005
Beiträge
131
Hey!

Ich bin grad dabei, mit Visual Studio 05 ein kleines Projekt zu machen.
Jetzt wollte ich zu meinem Projekt ein zweites Form hinzufügen und dieses per Button von Form1 aus anzeigen.
Ich hab im Projektmappenexplorer mit "Rechtsklick->Hinzufügen->Windows Form" Form2 zu meinem Projekt hinzugefügt, aber ich kann dieses nicht über Form1 aufrufen.
Ich habs mit "Form2.Show();" versucht, aber dann kommt immer der Fehler "Der Name "Form2" ist im aktuellen Kontext nicht vorhanden."

Muss ich das 2. Form irgendwie für das 1. freigeben, oder wo liegt das Problem?

danke im Voraus,
mfg, tom
 
Code:
Form2 frm = new Form2();
frm.Show();

EDIT: Wenn du .Show(); machst kannst du zwischen beides Fenster switchen, wenn du allerdings .ShowDialog(); machst kannst du nurnoch das neu geöffnete Windows nutzen, in dem Fall Form2.
 
Zuletzt bearbeitet von einem Moderator:
SlimNarcotics schrieb:
Code:
ShowDialog();[/B] machst kannst du nurnoch das neu geöffnete Windows nutzen, in dem Fall Form2.[/I][/QUOTE]

das nennt man einen modalen Dialog, der manchmal auch nutzlich ist. z.b. Stell der filebrowse- Dialog waere nicht modal ;)
 
Habs jetzt genau so gemacht wie du gesagt hast, aber es geht immer noch nicht. Da bekomm ich den Fehler:
"Der Typ- oder Namespacename "Form2" konnte nicht gefunden werden. (Fehlt eine using-Direktive oder ein Assemblyverweis?)"

und sobald ich Form2 eingeben will müssten ja im Dropdownmenü, das dann erscheint die Vorschläge dazu sein.. aber da gibts nur Form1..
 
Zuletzt bearbeitet:
Erstell mal das Projekt neu, bevor ein neues Objekt deiner zweiten Form erzeugst.
 
das nennt man einen modalen Dialog, der manchmal auch nutzlich ist. z.b. Stell der filebrowse- Dialog waere nicht modal ;)

richtig, ich wollte es nur so erklären dass er sofort weis was gemeint ist...
 
machmal so:

Code:
WindowsFormsApplication2.Form2 frm = new Form2();
frm.Show();
 
und vor allem lerne mal ein bissle grundlagen.
;)

Das hat den vorteil das du nicht warten musst bis dir wer antwortet. :)

Hilfreiche onlinelektuere gibt es genug, z.B. Galileo Openbook C#

viel spass
 
Hab dir mal nen Beispiel in den Anhang gemacht, vielleicht findest du dann dein Fehler oder so...
 

Anhänge

msycho schrieb:
Die zweite WinForm heißt ganz sicher "Form2"?
ja... ganz sicher

SlimNarcotics schrieb:
Hab dir mal nen Beispiel in den Anhang gemacht, vielleicht findest du dann dein Fehler oder so...
Vielen dank. Habs eig. genau gleich gemacht, aber es ging trotzdem nicht.
Jetzt hab ich ein neues Projekt gemacht und das ganze selber probiert und da gehts.

Dann hab ich halt die ganzen sachen vom 1. projekt ins 2. kopiert und so gehts jetzt auch.

Aber ich frag mich noch immer warum das vorher nicht funktioniert hat. Muss man vll alle Forms ganz am Anfang einfügen, bevor man am 1. Form was ändert?
 
Vielleicht hast du eine Änderung vorgenommen, die du rückgängig gemacht hast, oder das VS ist abgestürzt. Hab ich alles schon erlebt. Folge davon waren z.B. solche Fehler wie du ihn hattest.
Am Besten nicht weiter hinterfragen... ;-)
 
Ich weiß jetzt warums nicht funktioniert hat -.-

Es lag am Namen des Projekts. Der war "Rundholzrechner_V1.0".
Anscheinend war das _ schuld. Ich hab aber nie eine Warnung deswegen bekommen...

Naja. Mit "RundolzrechnerV10" funktionierts jetzt =)
 
tom2600 schrieb:
Es lag am Namen des Projekts. Der war "Rundholzrechner_V1.0"
Anscheinend war das _ schuld.

der unterstrich war sicher nicht schuld (immer auf die , die ohnehin schon am boden liegen :) ), der schuldige war der Punkt
 
Hallo Zusammen,

super hilfe hier!

Noch eine Frage dazu. Wie bekommen ich es hin, dass die neue Form geöffnet wird und gleichzeitig die alte Form geschlossen wird.

Bei mir öffnet er die neue Form, aber die alte bleibt im Hintergrund bestehen.

Gruß
 
Tja Google sagt, wenn Du die Hauptform schließt beendet sich die Applikation. Und wenn Du ein Fenster schließt, schließen sich auch die erstellten Ressourcen. An eins von beidem wirds liegen, kann ich aber nicht testen.

Lösungen gibts mehrere. Du könntest Form.hide() probieren oder einen Controller schreiben, der das Fenster und EventHandling managet... Google kennt auch noch mehr Möglichkeiten.
 
Zurück
Oben