Benutzer mit den meisten Antworten
Form öffnet erst bei Programmende

Frage
-
Hi!
Ich sage direkt, ich bin noch nicht sooo bewandert, gerade bei Forms und will, dass mir in meinem Programm ein Button ein zweites Form öffnet. Wenn ich auf den Button klicke passiert jedoch gar nichts, nur beim beenden des Programms sehe ich kurz einmal das zweite Form aufblitzen. Der Code der Hauptdatei sieht so aus:
Quellcodeabschnitt#include <windows.h>
#include <system.h>
#include "stdafx.h"
#include "Form1.h"
#include "Manager.h"
using namespace AW_Launcher;
bool manager_click(Object^ sender, EventArgs^ e) {
return true;
}
public delegate void MyDel(System::Object ^,System::EventArgs ^ i);
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
// Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
// Hauptfenster erstellen und ausführen
Application::Run(gcnew Form1());
Form1 ^ f1 = gcnew Form1;
MyDel ^ StaticDelInst = gcnew MyDel(f1, &Form1::managerButton_Click);
if (gcnew MyDel(f1, &Form1::managerButton_Click)) {
Form ^ManagerForm= gcnew Manager();
ManagerForm->Show();
};
return 0;
}
Antworten
-
Hi Cronk,
Du musst das Load-Ereignis erst hinzufügen.
Hab Dir mal eben ein Video gemacht, ist vielleicht einfacher für Dich.
http://www.rb-softarticle.com/Form2.html
Linksklick = Roter Kreis.
Rechtsklick = Blauer Kreis.
Wenn noch Fragen sind, nur zu.
Gruß, René
- Als Antwort vorgeschlagen ZoRNdYuKe - C4gatay Donnerstag, 4. Juni 2009 14:39
- Als Antwort markiert Kay GizaMicrosoft employee Montag, 20. Juli 2009 06:22
Alle Antworten
-
Hi Cronk,
Was hast Du den genau vor?
Die Form1 wird gestartet und soll dann die Form2 starten und anzeigen?
Das würde ich nicht in der main() machen.
Da wird das Hauptfenster festgelegt.
Mach das doch über das Load-Ereignis der Form1.
Wenn Du nicht weißt wie das geht, schicke ich Dir Code.
Gruß, Doug_HH
-
Hi Cronk,
Du musst das Load-Ereignis erst hinzufügen.
Hab Dir mal eben ein Video gemacht, ist vielleicht einfacher für Dich.
http://www.rb-softarticle.com/Form2.html
Linksklick = Roter Kreis.
Rechtsklick = Blauer Kreis.
Wenn noch Fragen sind, nur zu.
Gruß, René
- Als Antwort vorgeschlagen ZoRNdYuKe - C4gatay Donnerstag, 4. Juni 2009 14:39
- Als Antwort markiert Kay GizaMicrosoft employee Montag, 20. Juli 2009 06:22
-
Das wolltest Du doch gar nicht was ich Dir da erzählt habe, wer lesen kann ist klar im Vorteil J
Du wolltest doch nur einfach einen Button der eine zweite Form anzeigt.
http://www.rb-softarticle.com/Form3.html
Es gibt zwei verschiedene Möglichkeiten.
1. Das Fenster Modal anzeigen lassen, das heißt, man kann auf das Parent Fenster nicht zugreifen bevor das Modale Fenster geschlossen wird.
->ShowDialog();
2. Das Fenster nicht Modal anzeigen lassen, das macht der Befehl ->Show(); Das Fenster bleibt geöffnet und man kann trotzdem auf das Parent Fenster zugreifen, so wie ein Suchdialog.
Du kannst ruhig das Load Ereignis löschen
Gruß, René