Zugriff auf Propertie

09/07/2009 - 09:36 von Tamara Mikes | Report spam
Salü alle zusammen

Ich habe in einem Control ein Propertie gemacht. Folgendermassen:

private string vTest = string.Empty;
public string MyProperty
{
get { return vTest; }
set
{
vTest = value;
label1.Text = vTest;
}
}

Wenn ich dieses Control von der Toolbox auf meine Form1 ziehe, dann kann ich
im Eigenschaftenfenster auch wirklich MyProperty einstellen und es macht was
ich will.
ABER
Wenn ich nun per Code das Property ansprechen will, dann hàtte ich das jetzt
so gemacht:

private void button1_Click(object sender, EventArgs e)
{
Control myControl = new EigenschaftenCSharp.MyControl();
//myControl.MyProperty = "Hallo Welt";

Form myForm = new Form();
myForm.Text = "Neue Form mit Control";

myForm.Controls.Add(myControl);
myForm.Show();
}

Das funktioniert aber irgendwie nicht. Was mache ich falsch? Wie kann ich im
Code MyProperty ansprechen?


Viele Grüsse
Tamara
 

Lesen sie die antworten

#1 Marvin Massih
09/07/2009 - 10:55 | Warnen spam
Hallo Tamara,

Tamara Mikes schrieb:
private void button1_Click(object sender, EventArgs e)
{
Control myControl = new EigenschaftenCSharp.MyControl();
//myControl.MyProperty = "Hallo Welt";



Das kann nicht funktionieren (hat auch nichts mit Controls zu tun).

Das ist so, wie wenn du von der Klasse "Sàugetier" eine Klasse "Affe"
abgeleitet hàttest und jetzt auf einem Sàugetier-Objekt versuchen
würdest, die Methode "Klettern()" aufzurufen - nicht alle Sàugetiere
können jedoch klettern, nur Affen können das, und rein theoretisch
könnte ja das Sàugetier auch ein Wal sein.

Du musst dem Compiler explizit sagen, dass es sich hier um einen Affen
(oder um ein MyControl) und nicht nur um ein Sàugetier allgemein
(Control) handelt.

Lösung:

MyControl myControl = new MyControl( );
myControl.MyProperty = "Hallo Welt";

Gruß
Marvin

Ähnliche fragen