none
Problem bei Vererbung von Formen RRS feed

  • Frage

  • Hallo zusammen,

    ich habe gerade ein Problem mit der Vererbung von Formen: ich habe eine Masterform, die 4 Buttons enthält, die alle auf virtuelle Methoden verweisen. Ich habe mir anschließend eine Klasse erstellt, die von dieser Masterform erbt und die ein Listenfenster werden soll. Auf dieses Fenster habe ich nun ein Datagridview gezogen. Dabei entsteht in meinem Listenfenster die Methode "InitializeComponent". Diese Methode rufe ich im Load-Ereignis der Form auf. Trotzdem wird mir wenn ich das Programm laufen lasse, mein erbendes Fenster nicht angezeigt, sondern nur das Masterfenster. 

    Ich hoffe, Ihr könnt mir sagen, was ich falsch mache... Tausend Dank im voraus für Eure Hilfe!

    Gruß

    Marcus


    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...

    Donnerstag, 10. Juli 2014 07:40

Antworten

  • Hall Marcus,

    InitializeComponent wird  (muss) direkt im Konstruktor aufgerufen werden. Der Aufruf wird dort vom Designer automatisch eingefügt (wenn nicht, ist was schief gegangen).

    Siehe auch: How does the Windows Forms designer in Visual Studio load a Form? (etwas veraltet, aber im Grunde noch gültig).

    Im übrigen könnten virtuelle Methoden für Steuerelemente (Schaltflächen) Probleme bereiten. Sinnvoller wäre den Standard-Mechanismus zu verwenden, d. h. die Ereignisse der Schaltflächen zu nutzen.

    Gruß Elmar

    • Als Antwort markiert mjanz Donnerstag, 10. Juli 2014 08:09
    Donnerstag, 10. Juli 2014 07:58
    Beantworter

Alle Antworten

  • Hall Marcus,

    InitializeComponent wird  (muss) direkt im Konstruktor aufgerufen werden. Der Aufruf wird dort vom Designer automatisch eingefügt (wenn nicht, ist was schief gegangen).

    Siehe auch: How does the Windows Forms designer in Visual Studio load a Form? (etwas veraltet, aber im Grunde noch gültig).

    Im übrigen könnten virtuelle Methoden für Steuerelemente (Schaltflächen) Probleme bereiten. Sinnvoller wäre den Standard-Mechanismus zu verwenden, d. h. die Ereignisse der Schaltflächen zu nutzen.

    Gruß Elmar

    • Als Antwort markiert mjanz Donnerstag, 10. Juli 2014 08:09
    Donnerstag, 10. Juli 2014 07:58
    Beantworter
  • Hallo Elmar,

    mann, manchmal sieht man den Wald vor lauter Bäumen nicht... Ich habe den Standardkonstruktor mit dem InitializeComponent eingefügt, jetzt läuft's wie geschnitten Börek... Danke dafür! Die 4 Methoden sind die Ereignisse der Buttons. Sie sind virtuell, damit ich Sie entsprechend erweitern kann, wenn ich ein erbendes Fenster aufrufe. Kann das wirklich zu Problemen führen?

    Tausend Dank für Deine Hilfe!


    Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...

    Donnerstag, 10. Juli 2014 08:20