Vb.net 一次清除多个文本框

Vb.net 一次清除多个文本框,vb.net,Vb.net,我有以下文本框,希望能更快地删除它们 TxtDrawA1.Clear TxtDrawA2.Clear TxtDrawA3.Clear TxtDrawA4.Clear TxtDrawA5.Clear TxtDrawA6.Clear TxtDrawA7.Clear TxtDrawA8.Clear and so on... 大家好,欢迎来到StackOverflow 您可以尝试像这样迭代文本框: For Each txtb As TextBox In Me.Controls.OfType(Of Te

我有以下文本框,希望能更快地删除它们

TxtDrawA1.Clear
TxtDrawA2.Clear
TxtDrawA3.Clear
TxtDrawA4.Clear
TxtDrawA5.Clear
TxtDrawA6.Clear
TxtDrawA7.Clear
TxtDrawA8.Clear
and so on...

大家好,欢迎来到StackOverflow

您可以尝试像这样迭代文本框:

For Each txtb As TextBox In Me.Controls.OfType(Of TextBox)()
     If txtb.Name.StartsWith("TxtDrawA")
         txtb.Clear
     End If
Next

希望这有帮助

下面是如何找到它们,无论它们在什么容器中(它们甚至可以在不同的容器中)。此方法还演示了如何使这些控件“有序”:


您想清除表单上的所有文本框还是只清除其中的一部分。不是全部,只是那些以txtdawa(1-2-3-4-5-6-7)@FerdoPerdana开头的文本框-您说的是1到7,但在示例中显示了txtdawa8。“你这是什么意思?”更快地删除它们”?正如我在另一个答案中看到的,您可能需要清除Tab3.TabPage(0)中的文本框。在这种情况下,您所要做的就是用Tab3.TabPage(0)替换Me.Controls…。Controls。。。
Dim tb As TextBox
Dim ctl As Control
For i As Integer = 1 To 8
    ctl = Me.Controls.Find("TxtDrawA" & i, True).FirstOrDefault
    If Not IsNothing(ctl) AndAlso TypeOf (ctl) Is TextBox Then
        tb = DirectCast(ctl, TextBox)
        ' ... do stuff with "tb" ...
        tb.Clear()
    End If
Next