2012-04-25 4 views
0

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

Приведенный ниже код показывает, как я создаю динамический пользовательский элемент управления:

ArrayList assessmentInfo = new ArrayList(); 

    int length = (int)moduleInfoLevel6.numericUpDownModuleAssessmentNum.Value; 
    for (int i = 0; i < length; i++) 
    { 
     assessmentInfo.Add(new AssessmentInfo()); 
     System.Drawing.Point p = new System.Drawing.Point(10, 160 + i * 32); 
     (assessmentInfo[i] as AssessmentInfo).Location = p; 
     (assessmentInfo[i] as AssessmentInfo).Size = new System.Drawing.Size(440, 32);     
     tabPageLevel6.Controls.Add((assessmentInfo[i] as AssessmentInfo)); 
    } 

Вот скриншоты, показывающие, как отображается пользовательский элемент управления:

assessmentInfo таможенного контроля

http://i.imgur.com/9qwCL.jpg

Как пользовательский контроль отображается на форме

http://i.imgur.com/DFJYV.jpg

+0

я был в Такая же ситуация. Подход, который я использовал, связан с элементом класса с пользовательским элементом управления, и вы можете сделать это при создании экземпляра. Как только привязка будет завершена, все, о чем вы заботитесь, это структура данных. – mchicago

ответ

0

можно добавить имя каждого элемента управления

что-то вроде:

(assessmentInfo[i] as AssessmentInfo).Name = "assessmentInfo" + i.ToString(); 

, то вы можете получить доступ к нему следующим образом

foreach (object control in tabPageLevel6.Controls) 
{ 
    if (control is AssessmentInfo) 
    { 
     if ((control as AssessmentInfo).Name == "assessmentInfo1") 
      // do something with the control 
      MessageBox.Show((control as AssessmentInfo).Name);      
    } 
} 
+0

Большое спасибо, что это решение работает отлично :) – Plummy194

+0

никаких проблем, пожалуйста – fuchs777

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