2013-04-24 2 views
0

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

textBox1.text=string.emty.tostring(); 
+0

Вы можете получить все [текстовые поля рекурсивно] (http://stackoverflow.com/questions/2525062/how-can-i-query-all-childcontrols-of-a-winform-recursively), а затем пропустить их установка свойства Text в '' '' или 'string.Empty' – Habib

ответ

0
foreach (Textbox myTB in this.Controls) 
{ 
    if (myTB != null) 
     myTB.Text = String.Empty; 
} 

Вы не должны ToString() на пустой.

0

Если все эти TextBoxes принадлежат к одной и той же емкости, и никакие другие TextBoxes не помещаются в контейнере, то вы можете просто перечислить детей контейнера

foreach (var tb in container.Controls.OfType<TextBox>()) 
{ 
    tb.Text = string.Empty; // or tb.Text = null; 
} 

Если у вас есть несколько текстовых полей и по каким-то причинам вы не можете сгруппировать их в одном контейнере вы рекурсивно просматриваете все доступные текстовые поля и затем фильтруете полученную коллекцию.
Для этого вы можете использовать Tag.

Смежные вопросы