Autor Beitrag
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: So 30.11.08 11:31 
Hallo zusammen,

eine etwas peinliche Frage, hab wohl irgendwo gepennt und kann die Antwort nicht auf die schnelle in meinem Einsteigerbuch finden. Aber ich bin lieber für einen Moment der Blödmann, als immer blöd zu bleiben :lol:


Also, wie bezeichnet man die Void, in der InitializeComponent(); aufgerufen wird?

Darf man in dieser Void, Events mit einer Schleife abonieren? Oder sollte ich das lieber erst im Load Event machen?



Gruß
Christoph
Greenberet
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 339
Erhaltene Danke: 20

Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
BeitragVerfasst: So 30.11.08 11:41 
Meinst du den Konstruktor?
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: So 30.11.08 11:45 
Sieht so aus. Du willst also in der Methode InitializeComponents() eigene Event-Registrierungen vornehmen? Davon würde ich Abstand nehmen, weil diese Methode von der IDE gepflegt wird und es u.U. zu Unstimmigkeiten kommen kann. Bastel Dir lieber eine eigene Methode dafür und rufe die nach InitializeComponents im Konstruktor auf. Dann kannst Du auch davon ausgehen, dass die Komponenten alle erzeugt sind und dann Deine Events registrieren.
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: So 30.11.08 11:58 
Ich stimme UGrohne weitgehend zu. Es ist aber völlig unproblematisch, nach dem Aufruf von InitializeComponents() weitere Maßnahmen direkt im Konstruktor zu erledigen. Du darfst z.B. weitere Controls manuell erstellen, Eigenschaften (z.B. Beschriftungen) festlegen oder ändern, EventHandler registrieren usw. Ob man das im Konstruktor erledigt, in einer eigenen Methode (wie UGrohne sagt) oder im FormLoad, hängt vom Umfang dieser Maßnahmen und ihrem inneren Zusammenhang ab und kann deshalb nicht allgemein beantwortet werden.

Du musst Dir aber bewusst sein: Änderungen in der Designer.cs sind nur in seltenen Ausnahmefällen zulässig, wenn Du viel Erfahrung hast und genau weißt, wie die Designer.cs aufgebaut ist (z.B. mit alphabetischer Reihenfolge der Eigenschaften), sodass der Designer damit fehlerfrei umgehen kann. (Beim nächsten Aufruf des Designers macht der sowieso daraus, was er für richtig hält.)

Jürgen
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: So 30.11.08 12:22 
Ich habe schon vermutet das es der Konstruktor ist, war mir aber nicht sicher, da dieser in VB.Net mit Sub New beginnt. Aber gut, dann ist diese Frage somit beantwortet!

In der Methode InitializeComponents() möchte ich keine Events abonnieren, sondern im Konstruktor. Gut, dann mach ich das mal nach dem Aufruf InitializeComponets(), mit einer Schleife, das ist gerade bequemer.


Vielen Danke für eure Hilfe!!


Gruß
Christoph