Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Button1.Click
EmptyTextBoxValues(Me)
End Sub
Private Sub EmptyTextBoxValues(ByVal parent As Control)
For Each c As Control In parent.Controls
If (c.Controls.Count > 0) Then
EmptyTextBoxValues(c)
Else
If TypeOf c Is TextBox Then
CType(c, TextBox).Text = ""
End If
End If
Next
End Sub
这个子用于清除所有文本框的值,我只需要知道它是如何工作的?
答案 0 :(得分:4)
EmptyTextBoxValues
子句递归调用所有子控件(如果存在) - 如果不存在,则检查它们是否为文本框,如果是,则清除它。
开始 - 它遍历属于传入控件的每个子控件:
For Each c As Control In parent.Controls
然后测试子控件是否有自己的子控件,如果是,则使用子控件调用自身:
If (c.Controls.Count > 0) Then
EmptyTextBoxValues(c)
如果子控件上不存在这样的子控件,则测试控件的类型是否为TextBox
,如果是,则清除:
Else
If TypeOf c Is TextBox Then
CType(c, TextBox).Text = ""
End If
答案 1 :(得分:0)
它循环遍历表单的直接子节点的所有控件,并检查每个控件是否是TextBox控件。如果是这样,它会清除它。此外,它还会检查每个控件是否是包含更多子控件的容器控件。如果是这样,它会递归调用自己来处理所有这些子控件。