Laden...

Finden eines Controls

Erstellt von inflames2k vor 14 Jahren Letzter Beitrag vor 14 Jahren 793 Views
inflames2k Themenstarter:in
2.298 Beiträge seit 2010
vor 14 Jahren
Finden eines Controls

Hallo,

und zwar wollte ich mal fragen ob es eventuell eine Funktion gibt mit Hilfe derer es möglich ist ein Control innerhalb einer Form zu finden.

So etwas wie: Label lblTest = (Label)FindControl("testLabel");

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo inflames2k,

sowas gibt es. Da solltest du die :rtfm: Doku fragen. Nicht ganz so, wie du vermutest, aber du bist dicht dran.

herbivore

inflames2k Themenstarter:in
2.298 Beiträge seit 2010
vor 14 Jahren

Falls du Controls.Find(Key, bool) meinst. ... Damit hab ich es probiert, Sinn und Zweck ist, dass ich dynamisch erstellte Controls neu ausrichten möchte.

Dies möchte ich wenn möglich ganz einfach machen...

Control per Namen suchen, Beispielsweise ein Label - lblTest.
probiert hab ich es folgendermaßen:


Control[] controls = this.Controls.Find(controlname, true);
Label TestLabel = (Label)controls[0];

Dies bringt jedoch eine IndexOutOfBound-Exception obwohl das Label existieren sollte, nachdem ich gesucht habe.

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |

K
62 Beiträge seit 2009
vor 14 Jahren

Dann hast Du wohl deinem Control vorm Hinzufügen zu deinem Fenster keinen korrekten Namen gegeben, über den Du es später in der Control-Collection finden kannst.


Label testControl = new Label();
testControl.Text = "Woohoo";
testControl.Name = "testName";

Controls.Add(testControl);

Control[] controls = Controls.Find("testName", true);

if (controls != null && controls.Length > 0)
{
    controls[0].Text = "Test yay";
}
else
{
    MessageBox.Show("Control not found");
}

inflames2k Themenstarter:in
2.298 Beiträge seit 2010
vor 14 Jahren

Das Control hat einen Festen Namen. 😃 Über foreach findet man es auch. - Naja egal, bleib ich dann bei meinem Foreach.

Wissen ist nicht alles. Man muss es auch anwenden können.

PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |