Methode zur Form öffnen



  • Hallo ich steh vor einem Problem und komm nicht weiter

    Ich möchte gern eine Methode erstellen wo beim öffnen eines neuen Fenster zuschlägt .

    Wenn ich diesen Code in Form1verwende geht es

    test2 ^form = gcnew test2();
    		form->StartPosition = FormStartPosition::CenterScreen;
    		form->TopMost = true;
    		form->Activate();
    		form->ShowDialog();
    

    Ich würde jetzt gern eine Methode erstellen wo mir diesen code abnimmt da ich beim öffnen eines neuen Fenster immer die gleiche Prozedur mache Fenster öffnen auf TopMost setzten und in der Bildschirmitte in Vordergrundbringen möcht .

    Wenn ich jedoch diesen Code versuche

    void OpenFormdialog ( Form^ Formname )
    		     {
    		     Formname ^form = gcnew Formname();
    	             form->StartPosition = FormStartPosition::CenterScreen;
    		     form->TopMost = true;
    		     form->Activate();
                         form->ShowDialog();
     }
    

    bekomme ich immer diese Fehlermeldung

    error C2065: 'form': nichtdeklarierter Bezeichner

    kann mir da jemand weiterhelfen ??



  • Gucken wir uns mal diese Beiden Zeilen an:

    void OpenFormdialog ( Form^ Formname )  // "Formname" ist also eine Variable
    
    Formname ^form = gcnew Formname(); // Hier wird "Formname" wie ein Typ verwendet
    

    Das kann so nicht richtig sein.

    Wenn man den Form-Typ angeben können soll musst du zu generics greifen.



  • Oh !! Ja Formname soll die Übergebene Variable sein ( Name des zu öffneten Fenster)

    Und wie könnte so was aussehen mit dem Generic ?
    Ist grad ziemliches neuland für mich 😮 😮



  • Übergeb doch den Typ... Type

    Du kannst es natürlich auch mit Generics machen, aber irgendwo musst Du den Typ ja angeben...


Anmelden zum Antworten