Wenn ein Formular geladen wird, muss der Code Dinge wie das Einrichten von Datagrids, Comboboxen, den Titel usw. festlegen. Ich neige dazu, immer das load-Ereignis und nicht das neue (Konstruktor) zu verwenden. Gibt es Richtlinien, für welche man sich am besten für welche Aktivitäten eignet?
Ein Aufruf von InitializeComponent wird automatisch in den Konstruktor Ihres Formulars / Ihrer Seite eingefügt. InitializeComponent ist die automatisch generierte Methode
Alles, was mit der UI-Anordnung / Änderungen zu tun hat, sollte nach diesem Aufruf < sein. Wenn Sie dies in einem Override von Form.OnLoad tun, können Sie sicher sein, dass die Benutzeroberfläche bereit ist (InitializeComponent wurde aufgerufen) ... also würde ich dafür stimmen, dass ich bei OnLoad for UI bleibe.
Wenn ich Nicht-UI-Mitglieder erstelle, wäre der Konstruktor der Ort, an dem ich mich zuerst umgesehen habe.
Grundsätzlich möchten Sie, dass Ihr Konstruktor so leicht wie möglich ist. Ich versuche, die meisten Dinge in den Load Event-Handler zu legen, da die UI-Elemente erstellt wurden und zu diesem Zeitpunkt verwendbar sind. Normalerweise instanziiere ich jedoch Klassenobjekte usw. im Konstruktor, da dies tatsächlich Teil des Konstruierens des Objekts ist. Manchmal können Sie die Dinge nicht an einem Ort oder dem anderen platzieren, aber für die Zeiten, in denen Sie es können, sollten Sie sie einfach dort platzieren, wo es am geeignetsten erscheint.
Tags und Links .net winforms constructor initialization onload-event