2012-05-22 47 views
-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

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 
+0

我明白了nowww:D:D感謝您的描述:D –

0

它循環遍歷表單的直接子對象的所有控件,並檢查每個控件是否爲TextBox控件。如果是這樣,它將清除它。此外,它會檢查每個控件是否是包含更多子控件的容器控件。如果是這樣,它遞歸地調用它自己來處理所有這些子控件。

+0

@Rahul謝謝你回答我的意見。 –

+0

謝謝您的回答 –