WinForms Очистка нескольких текстовых полей одной командой - PullRequest
0 голосов
/ 07 февраля 2010

У меня есть несколько текстовых полей в форме, и у меня есть кнопка, которая вставляет все значения в базу данных, и мне нужно очистить содержимое всех текстовых полей и сфокусироваться на первом сразу после нажатия кнопки.

Теперь я могу легко это сделать, используя метод Clear каждого из текстовых полей, но для этого требуется 10-12 строк кода. Могу ли я сделать это за один раз?

Ответы [ 2 ]

3 голосов
/ 07 февраля 2010

В вашем контейнере (например, в форме) выполните итерацию по коллекции элементов управления и проверьте, является ли дочерний элемент TextBox.Если так, бросьте это и затем очистите текст.В VB.NET есть некоторый код:

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

Вы также можете сделать рекурсивную версию этого, чтобы, если у вас есть элементы управления, которые могут содержать другие элементы управления, они также обрабатывались.

0 голосов
/ 07 февраля 2010
For Each control In form.Controls
    If TypeOf control Is TextBox Then
        CType(control, TextBox).Clear()
    End If
Next
...