Daten an ein neues Formular übergeben



  • Hi zusammen,

    ich rufe ein neues Formular auf und möchte diesem Formular gerne zwei Werte übergeben, das ganze in C++ und .NET mit managed Formularen.

    Wie realisiere ich das?

    Vielen Dank
    Manfred



  • Hi,

    ich sehe das Problem nicht!
    Dein Formular ist doch eine eigene Klasse, der du zwei Membervariablen verpassen kannst.

    Passende Get/Set Funktionen dazu, die ggf. Formular-Werte ändern und
    fertig.

    Jockel



  • Hi,

    danke für den Tipp.
    Und woher bekomme ich die get und set???

    Ich fange damit erst an, und bin nicht so fit, das ich mit den paar Brocken wirklich was anfangen könnte 😉

    Danke für Deine Mühe
    Manfred



  • mjanssen.de schrieb:

    Hi,

    danke für den Tipp.
    Und woher bekomme ich die get und set???

    Ich fange damit erst an, und bin nicht so fit, das ich mit den paar Brocken wirklich was anfangen könnte 😉

    Danke für Deine Mühe
    Manfred

    Weißt du was ne Klasse ist? Wie übergibst du an eine Klasse daten? Du implmentierts in der Klasse einzelne Variablen, setzt ein Public davor und schon kannst du ein Objekt dieser Klasse erzeugen und Daten an die Variablen übergeben.
    Ein Formular ist auch ein Klasse. Gib dem Formular ein paar variblen, versehe sie mit publöic oder kapsel sie und erzeuge dann dort wo du das Formular auchmachst ein Objekt, gib dann den Variblen die Werte, die sie haben sollen und lass das Formular anzeigen



  • Hi,

    jetzt klappts.

    Danke für die INfos

    Herzliche Grüße
    Manfred



  • Hi,

    ich mach mal den schematischen Aufbau:

    class Formular
    {
    private:
      System::String m_benutzer;
      ...
    
    public:
      String GetBenutzer() {
        return m_benutzer;
      }
      void DatenToForm() {
        textBox1->Text = m_benutzer;
        ...
      }
      void FormToDaten() {
        m_benutzer = textBox1->Text;
        ...
      }
      // Weiss jetzt nicht wie das in C++ aussieht,
      // aber Ereignis bei schliessen nehmen:
    
      void OnClose(EventOderSowas) {
        FormToDaten();
      }
    
    }
    
    Im Aufrufer:
    Form* Formular2 = new Formular::Formular2(); 
    Formular2->ShowDialog(); 
    String B = Formular2->GetBenutzer();
    

    Gruss,

    Jockel



  • Hi,

    was mich irritiert hat, ist folgendes:
    So wie Du das beschreibst, so ähnlich hatte ich das.
    Aber es funktioniert nur, wenn ich die Variablen mit static deklariere und die Funktionen kann ich nur so aufrufen:
    textBox1->Text = Formular2::get_benutzer();
    Also nicht über den ->

    Aber jetzt habe ich das Prinzip glaub ich verstanden und kann damit ümm 😉

    Herzlichen Dank für Deine Mühe
    Manfred



  • mjanssen.de schrieb:

    Aber es funktioniert nur, wenn ich die Variablen mit static deklariere

    Dann läuft da noch was falsch. static kann da nicht richtig sein.

    mjanssen.de schrieb:

    Funktionen kann ich nur so aufrufen:
    textBox1->Text = Formular2::get_benutzer();

    Ich dachte textBox1 ist in deinem Formular?

    Jockel


Anmelden zum Antworten