Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Form schließen nachdem eine andere Form geöffnet wurde

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.11.2009, 21:14 Uhr
Tim916



Hallo,

Ich bin neu hier und hoffe, dass ihr mir weiter helfen könnt. ich habe folgendes Problem:

Ich öffne aus meiner Form1 mit folgendem Befehl per Button die Form2

Form2^ form2 = gcnew Form2;
form2->ShowDialog();

Jetz soll sich aber die Form1 schließen. Dazu verwende ich folgenden Befehl:

this->Close();

leider bleibt die Form1 geöffnet. Kann mir jemand verraten wie ich die Form1 schließen kann. Vielleicht kann mir ja auch jemand einen Tip geben, wie ich verschiedene inhalte auf einer Form darstellen kann. D. h eine Form mit Buttons belegen und wenn ein bestimmter Button geklickt wird den ganzen Inhalt der Form ausgetaucht....

Danke schon mal & Gruss
Tim

Dieser Post wurde am 10.11.2009 um 22:01 Uhr von Tim916 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.11.2009, 00:04 Uhr
ao

(Operator)



Zitat von Tim916:

Form2^ form2 = gcnew Form2;
form2->ShowDialog();

Jetz soll sich aber die Form1 schließen.


Dann musst du die form2 nicht mit ShowDialog anzeigen, sondern mit Show. ShowDialog zeigt die Form modal an, d.h. als Kindfenster von form1, und die Button-Click-Routine von form1 läuft erst dann weiter, wenn form2 geschlossen wurde. Informier dich mal über den Unterschied zwischen modalen und nichtmodalen Fenstern.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.11.2009, 19:52 Uhr
Tim916



Danke für die schnelle Antwort. OK, jetzt sieht es folgendermassen aus:

Form2^ form2 = gcnew Form2;
form2->Show();
this->Close();

Jetz schließen sich aber beide Formulare....

Dieser Post wurde am 11.11.2009 um 19:59 Uhr von Tim916 editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.11.2009, 20:00 Uhr
Tim916



Hallo nochmal,

so Funktioniert es:

Form2^ form2 = gcnew Form2;
form2->Show();
this->Hide();

Vielen Dank für die Hilfe

Gruss Tim
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
12.11.2009, 09:35 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ja weil du dein hauptfenster schließt, was windows veranlasst das Programm zu beenden
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
12.11.2009, 12:25 Uhr
~toxic
Gast



Zitat von Tim916:
... wie ich verschiedene inhalte auf einer Form darstellen kann. D. h eine Form mit Buttons belegen und wenn ein bestimmter Button geklickt wird den ganzen Inhalt der Form ausgetaucht.

normalerweise macht man so etwas mit "tabs" (registerkarten), dann hast du auch von deinem "haupt"dialog zugriff auf alle elemente/controls.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: