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