Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » auf neues Formular Formular zugreifen

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 ] > 2 <
010
10.08.2003, 20:36 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
aha! Jetzt kommen wir der Sache näher und Deine anderen Threads erklären sich von selbst(label)! Du hast kein MFC-Projekt sondern ein "managed" C++ Projekt. Leider hab ich jetzt die 2003 Version nicht hier, aber meine alte Beta tut auch noch ihre Dienste für solche Zwecke. Hab mal schnell etwas per Hand zusammen geschrieben.
Ich habe die Implementierungen alle in die cpp geschrieben.
form1.h

C++:
#using <mscorlib.dll>
#using <System.Windows.Forms.dll>
#using <System.dll>

using namespace System;
using namespace System::Windows::Forms;

__gc class Form1 : public Form{
public:
    Form1();
    void OnButtonClicked(Object* sender, EventArgs* e);
};


form2.h

C++:
#using <mscorlib.dll>
#using <System.Windows.Forms.dll>
#using <System.dll>

using namespace System;
using namespace System::Windows::Forms;

__gc class Form2 : public Form{
public:
    Form2();
};


Implementierung

C++:
#include "stdafx.h"
#include "form1.h"
#include "form2.h"
#using <mscorlib.dll>
#include <tchar.h>

using namespace System;

using namespace System::Windows::Forms;

Form1::Form1():Form(){
    Width = 150;
    Height = 60;

    Button* pButton = new Button();

    pButton->Text = "Button 1";
    pButton->Left = 40;
    pButton->Top = 5;
    pButton->Click += new EventHandler(this,OnButtonClicked);

    Controls->Add(pButton);
}

Form2::Form2():Form(){
    Width = 150;
    Height = 60;

    Button* pButton2 = new Button();

    pButton2->Text = "Button 2";
    pButton2->Left = 40;
    pButton2->Top = 5;
    Controls->Add(pButton2);
}

void Form1::OnButtonClicked(Object* sender, EventArgs* e){
    Form2* pForm2;
    pForm2 = new Form2();
    pForm2->Show();
}

int _tmain(void){
    Application::Run(new Form1());
    return 0;
}


In OnButtonClicked() wird ein Pointer auf die Form2 geholt und mit der Methode Show() angezeigt. Da es sich um Managed Code handelt brauchst Du dich um das Aufräumen nicht zu kümmern (eigentlich, bei VB.net hab ich schon anderes erlebt).
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 10.08.2003 um 20:37 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
11.08.2003, 14:42 Uhr
~Gast
Gast


Und in welche Datei muss die Implementierung?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
11.08.2003, 14:58 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
in Form1.cpp nach #include "stdafx.h" kommt

C++:
#include "form2.h"


Auf Form1 legst Du z.B. einen Button und fügst eine Behandlungsroutine hinzu, das ist bei mir im Bsp.

C++:
void Form1::OnButtonClicked(Object* sender, EventArgs* e){
    Form2* pForm2;
    pForm2 = new Form2();
    pForm2->Show();
}


Mehr solltest Du nicht benötigen.
Edit--
Kein MFC, deshalb schieb ich das mal nach .Net FrameWork
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 11.08.2003 um 15:04 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
13.08.2003, 11:35 Uhr
~Gast
Gast


Alles klar, jetzt funktioniert es! Vielen, vielen Dank Uwe!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C++CLI / VB .Net / .Net-Framework ]  


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: