我有一個窗體中的幾個文本框,並有一個按鈕,它將所有的值插入到數據庫中,我必須清除所有文本框的內容並在按按鈕。WinForms使用一個命令清除多個文本框
現在我可以很容易地使用每個文本框的Clear方法來做到這一點,但它只需要10-12行代碼。我可以一次做到嗎?
我有一個窗體中的幾個文本框,並有一個按鈕,它將所有的值插入到數據庫中,我必須清除所有文本框的內容並在按按鈕。WinForms使用一個命令清除多個文本框
現在我可以很容易地使用每個文本框的Clear方法來做到這一點,但它只需要10-12行代碼。我可以一次做到嗎?
從您的容器(例如表單)中,遍歷控件集合並測試一個孩子是否是一個TextBox。如果是這樣,投它,然後清除文本。在VB.NET這裏是一些代碼:
For Each c As Control In Me.Controls
If TypeOf c Is TextBox Then
DirectCast(c, TextBox).Text = ""
End If
Next
您也可以讓這個遞歸版本,因此,如果您有可能會包含其他控件控件,它們被處理爲好。
For Each control In form.Controls
If TypeOf control Is TextBox Then
CType(control, TextBox).Clear()
End If
Next
+1擊敗我10秒 – 2010-02-07 14:51:45
@ t3rse爲什麼使用DirectCast?爲什麼不做類似c.Text =「」的事?我不是說這是錯的,我知道它有效,我只是想學習。謝謝! – 2014-05-30 20:40:44