Announcement

Collapse
No announcement yet.

Übergabe von Objecten, Controls

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Übergabe von Objecten, Controls

    Hallo,

    ich habe folgendes Problem. Ich möchte an eine andere Klasse ein Objekt (z.B. Button, Textfeld, Label etc.) übergeben um auf deren Größe, Position, Tag bzw. Text zuzugreifen. Was ich nicht möchte ist, jeweils eine überladene Methode zu erstellen, da die Controls jeweils verschieden sein können. Hier ein kurzer Ansatz:

    <PRE>
    class Ziel;
    public ziel(object Uebergabe)
    {
    static aktuell = Uebergabe as Uebergabe.GetType;
    }

    private int GetPosition()
    {
    return aktuell.Top;
    }
    }


    class Start;
    System.Windows.Forms.Button button1;

    public Start();
    {
    Ziel zumZiel = new Ziel(button1);
    }
    }
    </PRE>

    Zur Erklärung: Die Klasse Start soll der Klasse Ziel ein beliebiges Object übermitteln. Die Klasse Ziel soll dieses Objekt wieder in das ürsprüngliche Object Konvertieren (hier button1) und es in der gesamten Klasse verfügbar machen.

    Sinn des ganzen ist zur Zeit ausser der Ermittlung der Position auch die Ausgabe von Text über die Eigenschaft TEXT des Objectes (z.B. in der Klasse Ziel aktuell.Text = "Hallo Welt!";

    Über einen Lösungsvorschlag würde ich mich freuen.

    Mit freundlich Grüßen
    Ronny Malyska

  • #2
    <p>Folgende Lösungen:<br>
    1) Nutze die objektorientierte Polymorphie: Typisiere die Klasse Control, entweder bei der Übergabe an die Klasse Ziel oder wenn Ziel das übergebene Objekt benutzt. Dann kann Ziel auf die allen Controls gemeinsamen (von der Klasse Control geerbten )Eigenschaften und Methoden (Position etc.) zugreifen.<br>
    2) Aufwändiger, aber überaus flkexibel: Verwende Reflection. </p>

    <p>Gruss<br>
    Gerd</p&gt

    Comment

    Working...
    X