tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
19
ZUGRIFFE
1192
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    real-insanity real-insanity ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Viersen, Germany
    Beiträge
    102
    Hallo zusammen,

    aktuell baue ich an meinem Programm etwas herum und brauche nun in jeder Form (sind so ca. 15) im Konstruktor eine Prüfung nach der letzten StartPosition (x & y gespeichert in der Registry). Im FormClose-Event brauch ich dann entsprechend das Schreiben der Position.

    Ich hatte mir überlegt, dass ich einfach eine Klasse schreibe die von Form erbt und ich dann im Konstruktor die entsprechenden Operationen durchführe.

    Alle Forms erben dann von meiner Form-Klasse.
    Jedoch hapert es gerade bei folgendem Punkt:

    Ich habe in den jeweiligen Konstruktoren der Forms unterschiedliche Dinge, die ich durchführe.
    Würde ich das so machen, würden alle Konstruktoren alle das selbe machen, was für meinen Anwendungsbereich echt ziemlich blöde ist.

    Gibts da eine Möglichkeit, von der ich zum aktuellen zeitpunkt noch nix weiß die mir da helfen kann?

    Lieben Gruß
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Hi

    es zwingt dich doch keiner, beim Vererben den Konstruktor unverändert zu lassen
    In den Abgeleiteten Klassen machst du einen eigenen Konstruktor, der den Vaterkonst. mit super aufrufen kann.

    Gruß
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    real-insanity real-insanity ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Viersen, Germany
    Beiträge
    102
    Achso, dass heißt es würde einmal der Konstruktur meiner "Vater-Klasse" aufgerufen werden und der meiner aktuellen Form?
     

  4. #4
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Genau.
    Dazu schreibst du beim Kondkonst. an der Stelle, wo der Vaterkonst.
    aufgerufen werden soll, das rein:
    Code csharp:
    1
    
    super();

    Gruß

    edit: Da hab ich was mit Java verwechselt
    Code csharp:
    1
    2
    3
    
    public childkonst() : base()
    {
    }
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  5. #5
    real-insanity real-insanity ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Viersen, Germany
    Beiträge
    102
    Ah, sehr cool. Danke! Werd ich nachher direkt mal testen. Gibts auch ne Möglichkeit Events und deren Inhalte zu vererben? Weil ich muss ja beim FormClosed die aktuellen Point-Werte in die Registry speichern und will mir das auch ersparen, das in jeder Form nach zu zuziehen
     

  6. #6
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Wenn die Vaterklasse schon von Form abgeleitet wird (nicht erst die Kinder), ja.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  7. #7
    real-insanity real-insanity ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Viersen, Germany
    Beiträge
    102
    Sehr gut. Hast du dazu ein Beispiel oder eine Inetsiete wo ich mir das Wissen aneignen kann? Hab nämlich noch nie Events vererbt. Aber ja, meine Vaterklasse erbt von Form und dann erbt die Form von meiner Klasse und entsprechend auch die Events
     

  8. #8
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Mach doch die ganzen Events beim Vater.
    Die Kinder müssen damit doch gar nichts zu tun haben.
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  9. #9
    real-insanity real-insanity ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Viersen, Germany
    Beiträge
    102
    Ich kann dir gerade nicht ganz folgen, sorry.
    Kannst du mir dazu etwas Literatur liefern, dann schau ich mir das einfach mal an. ich vermute ich kann dir nicht ganz folgen, da mir das Verfahren nicht geläufig ist.

    Das mit den Methoden bzw. dem Konstruktor war kein problem, nun haperts aber an den Events.
    Geändert von real-insanity (06.12.11 um 18:59 Uhr)
     

  10. #10
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Literatur hab ich keine.

    Kannst du mal den aktuellen Stand zeigen?
    Wo es genau hapert?
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  11. #11
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    Überschreibe OnLoad Methode der Form zum laden der koords. und OnFormClosed (oder OnFormClosing) zum speichern, brauchste nixs events, wenn de eh ableitest.
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  12. #12
    real-insanity real-insanity ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Viersen, Germany
    Beiträge
    102
    Also ich hab jetzt folgendes in meiner Vaterklasse implementiert:
    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
     public void Forms_FormClosing(object sender, FormClosingEventArgs e)
            {
                try
                {
                    RegHelper.SetSpecificKey("lastX", this.Location.X.ToString());
                    RegHelper.SetSpecificKey("lastY", this.Location.Y.ToString());
                }
                catch (Exception ex)
                {
                    DebugHelper.WriteToLog(ex.Message.ToString());
                }
            }

    Dabei ist mir aufgefallen, dass dieses Event nicht aufgerufen wird. Der läuft brav in den Konstruktor rein und will die holen, aber beim Speichern schreibt er sie nicht.

    Was mach ich denn hier falsch?
    Geändert von real-insanity (08.12.11 um 21:13 Uhr)
     

  13. #13
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    Spring er in die Methode rein wenn du Breakpoint setzt und das Form schließt?

    Ansonsten hoffe ich mal das du das Form nicht selbst mit Dispose schließt, denn da werden die Ereignisse nicht geschmissen.
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  14. #14
    real-insanity real-insanity ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Viersen, Germany
    Beiträge
    102
    Ja, also der Debugger läuft nicht mal rein. Komischerweise läuft er auch nicht dort rein, wenn ich es Destruktor deklariere.
     

  15. #15
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    Der destructor ist da fehl am Platz.

    Hast du diese Methode überhaupt einem Ereignis zugeordnet?
    Wird das Formular ordnungsgemäß mit Close geschlossen?

    Und wie gesagt ich würde eher die OnFormClosing Methode überschreiben.
    Da du dich im gleichen Objekt bewegst musst du nicht unbedingt für dich selbst dein eigenes Ereignis abonnieren.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    protected override void OnFormClosing(FormClosingEventArgs e)
    {
       base.OnFormClosing(e);
     
       if (!e.Cancel)
       {
             //Speicher zeugs
       }
    }
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 08.07.11, 18:21
  2. Startposition einer Anwendung (SWT) bzw RCP
    Von Stephan041082 im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 4
    Letzter Beitrag: 04.08.08, 14:31
  3. Lightbox Fenster Startposition verändern
    Von MaltiCom im Forum CSS
    Antworten: 8
    Letzter Beitrag: 17.11.07, 11:28
  4. Lightbox Fenster Startposition verändern
    Von MaltiCom im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 23.07.07, 18:40
  5. Simcloth Startposition
    Von genesys im Forum 3D Studio Max
    Antworten: 4
    Letzter Beitrag: 25.04.04, 23:11