Zugriff auf WindowsForms Control in einer Klasse

16/02/2009 - 12:21 von Frank Bach | Report spam
Hallo,

die nàchste Anfàngerfrage:

Ich habe eine Klasse mit WindowsForms-Elementen: 'Form1'
Wie kann ich innerhalb einer anderen Klasse auf ein Control zugreifen?

Intellisense erkennt noch 'Form1' aber nicht z.B. mein DataGridView das in
Form1 drin ist.


Danke!

Frank
 

Lesen sie die antworten

#1 Nicolas Pavlidis
16/02/2009 - 12:41 | Warnen spam
Hi!

Frank Bach wrote:
die nàchste Anfàngerfrage:

Ich habe eine Klasse mit WindowsForms-Elementen: 'Form1'
Wie kann ich innerhalb einer anderen Klasse auf ein Control zugreifen?



Alle Controls sind ja Instanzen von irgendwelchen Klassen. Dies
instanzen sind innerhalb des Froms immer private.

Du hast zwei möglichkeiten:

1) Im Propertieswindows kann man den Accessmodifier umstellen den ein
COntrol haben soll => nicht so super.

2) Für die OCntrols die du außerhalb brauchst Properties implementieren
(im Form, vielliecht in einer eigenen partial class) und über diese
Properties auf deine Controls, als z.B auf deine DataGridView - Instanz
zugreifen.

IMHO zu empfehlen ist Variante 2, ist aber meine persönliche Meinung,
weil ich kein großer Freund, eher ein großer Feind vom public fields bin.

Intellisense erkennt noch 'Form1' aber nicht z.B. mein DataGridView das in
Form1 drin ist.



Die blednet alles aus was nicht sichtbar ist, auch private fields, oder
wenn du was in einem Namespace hast den nu nicht mittels using
eingebunden hast, wirst du die entsprechenden Typen im Intellisiense
Fenster auch nicht finden.


HTH && LG
Nicolas

Ähnliche fragen