Autor Beitrag
.NETT
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Windows Vista Home Premium
C++ (VS 2008 Express), C# (VS 2008 Express)
BeitragVerfasst: So 21.09.08 17:18 
Hallo
Ich will dynamisch ein Steuerlement hinzufügen, sagen wir Button.
den Namen des Button legt der Designer fest (button1, button2, button3, etc.), wenn ich aber selber dynamisch mache, muss ich selber den Namen festlegen.
Wenn ich jetzt einen Button dynamisch mache, dann schreib ich folgendes:
ausblenden C#-Quelltext
1:
2:
3:
Button dyn_button = new Button();
dyn_button.Text = "TESTEST";
this.Controls.Add(dyn_button);

Dann wird ein Button erzeugt, auf dem "TESTEST" steht und der Name ist dyn_button.
Wenn ich dem Benutzer eine Textbox zur verfügung stelle und ihn auffordere, den Namen eines Buttons einzutippen, und dann zu bestätigen, damit nun ein neues Button angelegt wird, was muss ich dann machen?
Ich glaube das geht nicht, oder? (textBox1.Text ist "ggg")
ausblenden C#-Quelltext
1:
2:
3:
Button textBox1.Text = new Button();
ggg.Text = "TESTEST";
this.Controls.add(ggg);

Da wird nix draus, oder? Wie muss ich das denn machen?
danke schon jetzt.
mfg
.NETT
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 21.09.08 17:23 
Hallo!

Da C# keine Skriptsprache ist, kann man auch den Namen von Variablen nicht auf diese Art setzen. Brauchst Du glücklicherweise auch gar nicht :-)

Jede Komponente hat eine "Name"-Eigenschaft, welche Du auf den gewünschten Wert setzen kannst. Wenn Du die Komponente dann den Controls der Form hinzugefügt hast, kannst Du sie über this.Controls.Find(...) wiederfinden und damit arbeiten. Du musst es lediglich noch in den richtigen Typen casten, denn der Rückgabe-Wert der Find-Methode ist die "Überklasase" COntrol.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
.NETT Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 35

Windows Vista Home Premium
C++ (VS 2008 Express), C# (VS 2008 Express)
BeitragVerfasst: So 21.09.08 17:38 
Hallo
Vielen Dank!
mfg
.NETT