Zum Inhalt springen

[C#] Frage zu Control.Tag


fjendel

Empfohlene Beiträge

Hallo!

Ich bin gerade dabei einen Formular-Designer zu entwickeln und benutze dazu ein panel, auf das ich einfach normale Controls binde. Diese Controls (z.B. PictureBox, Label, ...) bekommen dann ein spezielles Objekt, in dem Werte für das Formular stehen, als Tag (also label1.Tag = new FormPropertiesObject()). In diesem FormPropertiesObject möchte ich nun irgendwie auf das übergeordnete Objekt zugreifen (hier also die Listbox). Wie kann ich das umsetzen?

P.S.: Ich möchte beim Erstellen des Labels das Label-Objekt nicht an das FormPropertiesObject übergeben...

Um das ganze etwas klarer zu machen ein paar Code Beispiele:

Was ich nicht möchte:

Label label1 = new Label();

FormPropertiesObject frmProp1 = new FormPropertiesObject(label1);

label1.Tag = frmProp1;

sondern einfach nur:

Label label1 = new Label();

label1.Tag = new FormPropertiesObject();

und innerhalb des FormPropertiesObject dann irgendwie via Label label1 = (Label) this.parent;

Wie kann ich diese parent-Eigenschaft umsetzen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo!

Das geht nicht. Wenn Du von Deinem FormPropertiesObject auf andere Objekte zugreifen willst, mußt Du eine Referenz auf diese Objekte übergeben oder eine Referenz an geeigneter Stelle aufbewahren. Wie soll Diene Klasse auch sonst wissen, welches Label Objekt sie zugreifen soll? Du wirst also eine Referenz übergeben müssen.

Du könntest es so lösen, indem Du das Label.Tag nicht als Variable sondern als Proprety implementierst und beim set Aufruf dieses Properties eine Referenz in das dazugehörige FormPropertiesObject einträgst. Es würde dann auf das hinauslaufen, was Du nur tippen möchtest, so wird aber trotzdem eine Referenz übegeben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du mußt eine Referenz übermitteln - wie Du das machst ist egal. Ohne geht's nicht...

Gut, anderer Vorschlag:

Wenn Du Windows.Forms benutzt, kannst Du grundsätzlich auf die übergeordentetn Container eines Controls zugreifen (über die Parent Property). In diesem Parent (z.B. dem Form) kannst Du nun einen Verweis auf ein Objekt unterbringen, in dem die Daten, auf die zugegriffen werden sollen, untergebracht sind.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...