-1
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  

このサブは、すべてのテキストボックスの値をクリアするためのものです。どのように機能したかを知る必要があります??

4

2 に答える 2

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  
于 2012-05-22T13:47:53.250 に答える
0

フォームの直接の子であるすべてのコントロールをループし、それぞれが TextBox コントロールであるかどうかを確認します。もしそうなら、それはそれをクリアします。また、各コントロールが、さらに多くの子コントロールを含むコンテナー コントロールであるかどうかを確認します。その場合、再帰的に自分自身を呼び出して、それらすべての子コントロールも処理します。

于 2012-05-22T13:51:05.267 に答える