2015-06-08 2 views
0

this question предлагает решение для проверки того, пусто ли текстовое поле в оконной форме. Мой вопрос распространяется на: если текстовое поле динамически создано, есть ли способ указать, какое текстовое поле пуст и вернуть имя элемента управления (текстовое поле)?Проверьте, что динамически созданное текстовое поле пуста

Пожалуйста, сообщите, если требуется дополнительная информация, спасибо.

EDIT: коды: (вся программа является слишком большой, я буду добавлять только ту часть текстового поля)

 private TextBox Department_Contact = new TextBox(); 
     this.Department_Contact.Location = new System.Drawing.Point(lct1, lct2); 
     this.Department_Contact.Size = new System.Drawing.Size(s1, s2); 
     this.groupBox2.Controls.Add(this.Department_Contact); 

этого поле нагрузка зависит от некоторого выбора ComboBox; Таким образом, жестко прописывать

if (Department_Contact.Text == string.Empty) 

не выбор для моего кода

EDIT: Вот полный ответ для тех, кто ищет решения:

 Department_Contact.name = "Department_Contact"; 
     var txt = View.groupBox2.Controls.OfType<TextBox>().ToArray(); 

     foreach (TextBox t in txt) 
     { 
      if (t.Text == "") 
       Console.WriteLine(t.Name); 
     } 
+0

Можете ли вы показать нам код, который вы используете для создания своих текстовых полей? – Ben

+0

Принятый ответ в связанном вопросе делает это для * любого * элемента управления независимо от его динамического добавления или нет. – poke

+0

@Ben Я немного добавлю коды. – Alex

ответ

1

Что вы можете сделать, это передать все текстовые поля в массив, затем проверьте каждый.

var txt = this.groupbox.Controls.OfType<TextBox>().ToArray(); 

foreach (TextBox t in txt) 
{ 
    if (t.Text == "") 
     Console.WriteLine(t.Name); 
} 

View является ссылкой на форму. Если вы делаете этот код в самой форме, вместо этого вы можете использовать .

+0

View.Controls возвращает ошибку, говорящую, что System.Windows.Forms.View не содержит def для 'Controls'. Я посмотрю на Google и дам вам знать – Alex

+0

@Alex Вы упомянули, что текстовые поля были в групповом поле? Если это так, это сработает (я изменю свой код) – Ben

+0

попробовал групповой ящик как GroupBox, а имя моего группового ящика, которое является groupBox2, теперь происходит ошибка в групповом ящике – Alex

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