Entwickler-Ecke
Basistechnologien - Eventhandler für jedes Objekt in Objektarray erstellen
HCN - So 08.06.08 20:57
Titel: Eventhandler für jedes Objekt in Objektarray erstellen
Hallo,
in meinem Programm erzeuge ich beim starten des Forms mit einer Schleife X Objekte meines Typs RichTextBoxEx, füge diese einem RichTextBoxEx[] Array Names schachteln hinzu und lasse die später dann alle nach einem bestimmten Schema auf meinem Form anordnen.
Wenn ich dann z. B. allen eine bestimmte Eigenschaft verpassen möchte, nehme ich wieder eine Schleife und mache:
C#-Quelltext
1:
| this.schachteln[i].Text = "Bla Bla Bla"; |
Schon hat jedes Objekt diese Eigenschaft.
Jetzt möchte ich jedem Objekt einen Eventhandler hinzufügen und dachte mir ich mache einfach:
C#-Quelltext
1: 2:
| this.schachteln[i].MouseEnter += new EventHandler(this.schachteln_MouseEnter); this.schachteln[i].MouseLeave += new EventHandler(this.schachteln_MouseLeave); |
(bis hier funktinierts)
und weiter in der Klasse dann eben:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| private void schachteln_MouseEnter(object sender, EventArgs e) { this.schachteln[i].ForeColor = Color.Orange; }
private void schachteln_MouseLeave(object sender, EventArgs e) { this.schachteln[i].ForeColor = Color.Black; } |
(das geht leider nicht)
Das Ziel sollte sein das sich die Textfarbe beim Betreten / Verlassen NUR VON DEM OBJEKT ändert das den event ausgelöt hat. So geht es aber leider nicht. Ich kann ja schlecht für jedes Objekt eine eigene Methode schreiben, das es ja immer unterschiedlich viele Objekte sind ???
Wie teile ich der Methode denn mit von welcher schachtel[i] er die ForeColor ändern soll ????
Danke und Gruß HCN
Christian S. - So 08.06.08 21:02
Hallo!
Der sender-Parameter enthält das Objekt, welches das Event ausgelöst hat. In Deinem Fall als die entsprechende RichTextBoxEx. Durch entsprechendes casten solltest Du auf alle Eigenschaften zugreifen können.
Grüße
Christian
HCN - So 08.06.08 21:39
Aha danke ok, und wie mache ich das nun mit dem konvertieren ? Ich stehe ein wenig auf dem Schlauch....
HCN - So 08.06.08 21:53
Achso, so einfach ? Danke Dir!!!!!
Dachte das mit dem Typ in Klammern davor schreiben umzu casten geht nur für so Standard Typen wie int, double usw....
Dann hab ich ja wieder was gelernt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!