Laden...

TextBox suchen und drauf zugreifen

Erstellt von zerberos vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.849 Views
Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 14 Jahren
TextBox suchen und drauf zugreifen

Hallo,

ich versuche eine TextBox zu finen und dann auf diese zuzugreifen.

Leider klappt das nicht. Der sagt immer bei this.Controls.Find:
Methodenname erwartet

In der txtname steht der Name der TextBox auf die ich zugreifen möchte

Hier mein Code:


TextBox txt = new TextBox();
txt = (TextBox)this.Controls.Find(txtname, true)(0);

916 Beiträge seit 2008
vor 14 Jahren

Hallo zerberos,

erstens warum legst du vorher eine leere Textbox an um sie dann wieder zu überschreiben.

Dann zu deiner Syntax, denn die versteh ich nicht richtig. (0) am ende der Find Methode ist doch syntaktisch falsch!?

Wenn die Control Collection eine Textbox mit dem Key "box" enthält dann bekommst du die so zurück:


TextBox txt = this.Controls.Find("box", true)[0] as TextBox;

[edit]: Das ist ne Collection, das habe ich übersehen...

Again what learned...

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo zerberos,

[0] statt (0)

Fällt unter [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)

herbivore

1.665 Beiträge seit 2006
vor 14 Jahren

Außerdem gibt das eventuell eine unnötige hässliche Exception.

Wenn this.Controls.Find() kein Contrl findet, knallts beim Zugriff auf Index 0 [0].

ergo:

Control[] controls = this.Controls.Find(txtname, true);
if (controls.Length == 1 && controls[0] is TextBox)
{
    txt = (TextBox)controls[0];
}