Ein neues Form starten

Scouty

Mitglied
Hallo,

ich arbeite mit Microsoft Visual Studio .NET 2003 und habe dort drei Windows Forms, die vom design schon fast fertig sind. In Form 1 habe ich zwei Buttons, der eine soll zu Form2 und der andere zu Form3 "verlinken". Also wenn man auf Button1 clickt, soll Form2 und wenn man auf Button2 clickt soll man auf Form3 kommen. Auf Form2 und 3 soll dann sowas wie ein zurückbutton kommen, der wieder zu Form1 kommt.

Ich habe schon allesmögliche ausprobiert, sowas wie Application.Run oder sowas in der Art, aber irgendwie funktioniert das nicht.

Ich bin voller Anfänger, was c# angeht und kenne mich da noch nicht so aus.
Kann das sein, daß man da auch irgendwie ne class noch erstellen muss?

Vielleicht kann mir ja einer weiterhelfen.

Viele Grüße
Scouty
 
Hi

Du musst von deinem Formular eine Instanz erzeugen und dann anzeigen lassen.

Code:
 // Das gehört in das Button_Click event
 form2 tmp = new form2(); 
 tmp.Show();

BloodyGreetz
 
Hallo,

super, danke dir. Das ging ja schnell :) Funktioniert.

Kleine andere Frage:
Form1 soll eigentlich das startform sein, also von wo man aus überall hinkommt. Aber wenn ich die Application im Debug Modus starte (dieser Playbutton da oben), dann fängt der nicht mit Form1 sondern mit Form2 an.
Wodran kann das liegen?
Gibts irgendwo eine Option/Einstellung, wo geagt wird, daß diejenige Form die StartForm ist?

Gruß Scouty

Achso... Wie mach ich das, daß Form2 jetzt in der gleichen Instanz geöffent wird?, oder ist es da am einfachsten zu sagen, wenn Form2 geöffent wird, daß Form1 geschlossen wird?

Gruß Scouty
 
Zuletzt bearbeitet:
Bei mir steht in der Main Methode vom File Form1.cs folgender Code:

Code:
static void Main() 
{
	Application.Run(new Form1());
}

Das andere kann sein das du beim Startpunkt deiner Form1 keinen Breakpoint angelegt hast.
Du kannst nur Zeilenweise Debuggen wenn du auch irgendwo wo es gewünscht ist einen Breakpoint anlegst.

BloodyGreetz
 
ok, Fehler gefunden.
in Form2 stand

static void Main()
{
Application.Run(new Form2());
}

und da hat er dann immer mit Form2 angefangen, statt mit Form1.

Habe jetzt nur noch das kleine Problem mit der Instanz, siehe edit vom letzen Post von mir.

Gruß und Danke
Scouty
 
Ich werde aus deinem Edit nicht so ganz schlau.

Kannst du das etwas ausführlicher posten?

BloodyGreetz
 
Ok.
Also. Wenn ich in Form1 auf den Button drücke wird ja Form2 in einer neuen Inztanz geöffent. Das heißt: Form1 ist auch noch offen. Ich kann also imprinzip sooft in Form1 auf den Button Form2 drücken,m wie ich will, und es werden immer wieder neue Fenster/Instanzen geöffent.

Wie kann ich das jetzt machen, daß das im prinzip immer im gleichen Fenster geöffent wird.
Ich hoffe Du verstehst jetzt was ich damit meine.

Gruß Scouty
 
Die einzige Lösung die mir da jetzt einfällt wäre das du ne MDI Anwendung daraus machst.

BloodyGreetz
 
Ok. Danke dir.
Musste eben erstmal gucken, was ne MDI Anwendung überhaupt ist. Aber ich mach mich da mal schlau.
Wenn ich da nicht weiterkomme, kann ich mich hier weider bei dir melden?! ;-)

Danke für die anderen Hilfen.
Thema ist dann erstmal als gelöst zu kennzeichnen :)

Viele Grüße
Scouty
 
Zurück