Ich habe eine dynamisch erstellte (Laufzeit Erstellung) Textbox, deren Name als String verfügbar ist. Was ich tun möchte, ist Zugriff auf diese Textbox wie wir als normale Textfelder. Kann mir sagen, wie man es als Textfeld oder andere zu werfenWie kann auf ein dynamisch erstelltes Textfeld in C# zugegriffen werden, dessen Name in einer Zeichenfolge verfügbar ist?
LösungAntwort
Neben Iordan Antwort, wenn Sie nicht genau wissen, wo auf dem Formular der Textbox ist, dann sollte diese Erweiterungsmethode viel helfen. Beachten Sie, dass Form
von Control
irgendwo auf der Strecke zu erben, so dass Sie es von diesem oder jedem Steuerelement auf Ihrem Formular aufrufen können.
public static class ExtensionMethods
{
public static Control FindControl(this Control root, string name)
{
foreach (Control c in root.Controls)
{
// Check this control
if (c.Name == name) return c;
// Check this controls subcontrols
Control tmp = c.FindControl(name);
if (tmp != null) return tmp;
}
return null;
}
}
Wenn diese noch nicht flexibel genug für Sie ist, dann können Sie iterieren System.Windows.Forms.Application.OpenForms
wenn Sie den Namen der Textbox und ihre Mutter Kontrollen kennen, können Sie wie folgt tun:
TextBox tb = (TextBox)parent.Controls["name"];
Da Sie die Kontrolle über den Entstehungsprozess zu haben scheinen, um es einen Verweis in einem Wörterbuch setzen.
Alles, was Sie tun müssen, ist es in Ihrem Wörterbuch nachschlagen, anstatt alle Steuerelemente auf dem Formular durchlaufen.
TextBox txt = map ["name"];
- 1. C# ASP.NET: Wie kann auf den Cache zugegriffen werden, wenn kein HttpContext.Current verfügbar ist (ist null)?
- 2. Eindeutiger Name für dynamisch erstelltes Formularelement
- 3. Scala: Wie kann dynamisch auf eine Klasseneigenschaft zugegriffen werden?
- 4. Wie kann auf den Diktatwert zugegriffen werden?
- 5. Wie kann auf diese Daten zugegriffen werden?
- 6. Wie kann $ gültig für ein Formularelement in eckigen zugegriffen werden?
- 7. Warum kann ich ein dynamisch erstelltes Formular in Firefox
- 8. Übergabe eines SQL-Parameters an ein dynamisch erstelltes Benutzersteuerelement C#
- 9. Wie kann der Name einer Registerkarte in C# bearbeitet werden?
- 10. Wie kann auf die Datenbankklasseninstanz zugegriffen werden?
- 11. Wie kann auf die Aufrufeigenschaft zugegriffen werden?
- 12. Wie kann überprüft werden, ob ein Remote-Computer verfügbar ist?
- 13. Wie kann auf ein statisches Member zugegriffen werden, das in einer erbenden Klasse überschrieben wurde?
- 14. Wie kann mit ember.js auf ein übergeordnetes Modell in einer verschachtelten Indexroute zugegriffen werden?
- 15. Wie erstellt man ein Wörterbuch, dessen Name ein Wort aus einem anderen Array in Python ist?
- 16. Wie kann ich ein Objekt in Ruby um ein Modul erweitern, dessen Name in einem Parameter angegeben ist?
- 17. PHP - Dynamisch erstelltes Bild auf Server speichern
- 18. Zugriff auf dynamisch erstelltes Element (JAVA)?
- 19. Wie kann ich auf ein Steuerelement verweisen, dessen Name zur Laufzeit bestimmt wird?
- 20. Visual Basic: Objekte dynamisch mithilfe einer Zeichenfolge als Name erstellen
- 21. Auf Tabellenvariable in gespeicherter Prozedur kann nicht zugegriffen werden
- 22. Erstellen Sie dynamisch Java-Skript-Array, dessen Name in Java-Skript-String ist
- 23. Angular - Fokus auf ein dynamisch erstelltes Eingabefeld geben
- 24. Wie kann ein erstelltes Verzeichnis einem Benutzer bereitgestellt werden?
- 25. Wie kann festgestellt werden, ob ein entferntes Netzwerkgerät verfügbar ist?
- 26. Kann in einer CPU mit C++ auf das Überlaufflagregister zugegriffen werden?
- 27. Wie kann auf geschützte Array-Werte zugegriffen werden?
- 28. C# Ausgabe in ein Textfeld
- 29. Datei kann fwhile läuft jnlp zugegriffen werden kann aber nicht über den Browser in Java Web zugegriffen werden beginnen
- 30. Wie kann ich warten, bis ein asynchron erstelltes Objekt vollständig verfügbar ist, bevor ein Rückruf aufgerufen wird?