2010-02-07 67 views
0

我有一個窗體中的幾個文本框,並有一個按鈕,它將所有的值插入到數據庫中,我必須清除所有文本框的內容並在按按鈕。WinForms使用一個命令清除多個文本框

現在我可以很容易地使用每個文本框的Clear方法來做到這一點,但它只需要10-12行代碼。我可以一次做到嗎?

回答

3

從您的容器(例如表單)中,遍歷控件集合並測​​試一個孩子是否是一個TextBox。如果是這樣,投它,然後清除文本。在VB.NET這裏是一些代碼:

For Each c As Control In Me.Controls 
     If TypeOf c Is TextBox Then 
      DirectCast(c, TextBox).Text = "" 
     End If 
    Next 

您也可以讓這個遞歸版本,因此,如果您有可能會包含其他控件控件,它們被處理爲好。

+2

+1擊敗我10秒 – 2010-02-07 14:51:45

+0

@ t3rse爲什麼使用DirectCast?爲什麼不做類似c.Text =「」的事?我不是說這是錯的,我知道它有效,我只是想學習。謝謝! – 2014-05-30 20:40:44

0
For Each control In form.Controls 
    If TypeOf control Is TextBox Then 
     CType(control, TextBox).Clear() 
    End If 
Next