tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
767
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    andralin andralin ist offline Mitglied Gold
    Registriert seit
    Apr 2008
    Beiträge
    117
    Hi Leute,

    ich habe den Anwendungsfall das ich eine Form Klasse und ein Klasse mit Methoden die auch aus der Konsole genutzt werden nebeneinander laufen lassen muss.

    Nun möchte ich das die Form an die Member de Objektes kommt und das Objekt an die Member der Form.

    im Objekt wird die Form so aufgerufen:
    Code :
    1
    2
    
    WinForm = new System.Windows.Application();
    WinForm.Run(new MainFormObject());

    wenn ich nun danach in der Zeile mit WinForm.meinFeld.Text = "Irgendwas" versuchen will bekomm ich nicht mal .meinFeld vorgegeben. Also unbekannt. Kann mir hier jemand nen tip geben wonach ich suchen muss um weiter zu kommen?

    cu s00n
    andralin
     

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Also deine Klasse sollte die Form definitiv nicht kennen. Daher hast du insgesamt zwei Wege:

    a) Deine Klasse wirft Events, wenn Änderungen an den Eigenschaften vorgenommen werden. Diese Events können von der Form abgefangen und entsprechend behandelt werden.

    b) Du verwendest ein Objekt, welches für den Datenaustausch verwendet wird. D.h. die Form erstellt eine Instanz und reicht eine Referenz an dein anderes Objekt weiter. Werden dort die Daten befüllt, sind diese automatisch auch in der Form über die Referenz verfügbar. Genauso umgekehrt.

    Ein Beispiel sollte sich auch in unseren Tutorials finden.
     

  3. #3
    andralin andralin ist offline Mitglied Gold
    Registriert seit
    Apr 2008
    Beiträge
    117
    Zitat Zitat von Norbert Eder Beitrag anzeigen
    Also deine Klasse sollte die Form definitiv nicht kennen. Daher hast du insgesamt zwei Wege:

    a) Deine Klasse wirft Events, wenn Änderungen an den Eigenschaften vorgenommen werden. Diese Events können von der Form abgefangen und entsprechend behandelt werden.

    b) Du verwendest ein Objekt, welches für den Datenaustausch verwendet wird. D.h. die Form erstellt eine Instanz und reicht eine Referenz an dein anderes Objekt weiter. Werden dort die Daten befüllt, sind diese automatisch auch in der Form über die Referenz verfügbar. Genauso umgekehrt.

    Ein Beispiel sollte sich auch in unseren Tutorials finden.
    OK, diese beiden Methoden waren mir bewusst. Aber ich habe es nun anders gelöst, mit Delegates, das heisst meine Klasse übernimmt eine bestehende Konsole oder erstellt eine neue oder eine Windows Form, je nach Anwendungsfall. Der kompliziertere Teil ist allerdings die Arbeit mit WPF, da muss ich alle Events hin und her reichen. Aber es läuft und noch dazu stabil. Lediglich mit den Animations aus dem WPF habe ich noch starke Probleme.

    Danke für die schnelle Antwort.

    Viele Grüße
    Andralin
     

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 24.05.10, 14:19
  2. [richfaces]/[jsf]: Bei action in einer Form auch Daten aus anderer Form übertragen
    Von paula123 im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 5
    Letzter Beitrag: 10.03.10, 15:14
  3. Antworten: 4
    Letzter Beitrag: 10.10.07, 09:45
  4. Form1.RichtextBox von anderer Klasse ansprechen
    Von flotschie im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 30.01.05, 14:04
  5. Klasse A in B und umgekehrt ..
    Von ernii im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 27.10.03, 15:05