Überprüfen Sie, ob Steuerelement Textbox in TabControl
Klar meine Textfelder, die ich mit dem folgenden code in einem Formular:
foreach (Control c in this.Controls)
{
if (c is TextBox || c is RichTextBox)
{
c.Text = "";
}
}
Aber jetzt ist mein text-Boxen befinden sich in einem TabControl. Wie kann ich diese Art von überprüfen, die für die Textfelder, und wenn das Steuerelement ein Textfeld, und setzen Sie den Wert auf "". Ich habe bereits versucht mit:
foreach(Control c in tabControl1.Controls)
Aber das hat nicht funktioniert.
InformationsquelleAutor Fuzz Evans | 2012-05-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
verwenden Sie diese
InformationsquelleAutor Samy Arous
Können Sie auch
Enumerable.OfType
.TextBox
undRichTextBox
sind die einzigen Steuerelemente, die Erben vonTextBoxBase
, das ist der Typ, den Sie suchen:@Smitty-Werben-Jager-Manjenson:
tabControl1.SelectedTab.Controls.OfType<TextBoxBase>()
Vielen Dank... eine Große Hilfe
denken Sie daran, dass
OfType
sucht nicht kontrolliert rekursiv, so dass in jedem Kind die Kontrolle wie einPanel
mit anderen Steuerungen. Aber die akzeptierte Antwort ignoriert diese auch. Vielleicht gewünschte, nur im Kopf behalten.Nochmals vielen Dank! Funktioniert wie einen Charme... die ich brauchte, um alle Textboxen in einem ausgewählten Reiter und so konnte ich überprüfen Sie Ihre Einträge. Ihre Lösung ist besser als Schleife durch alle Kontrollen durch und prüfen, ob Sie Textfelder oder nicht.
InformationsquelleAutor Rango
tabControl1.Kontrolliert wird nicht funktionieren, da das Register-Steuerelement enthält
TabPage
s. Sie brauchen, um auf die richtige Seite.Alternativ können Sie bauen eine rekursive Methode, es zu tun:
InformationsquelleAutor Tergiver
Limpiar Controles
InformationsquelleAutor jmic17986