Potrebujem načítať text z textového poľavlastné ovládanie. Vlastné ovládanie je súčasťou súboru ArrayList, takže na formulári môže byť zobrazených viacero vlastných ovládacích prvkov. Ako môžem pristupovať k textu z jedného textového poľa v rámci jedného z ovládacích prvkov v poli ArrayList?
Nižšie uvedený kód zobrazuje, ako vytvorím dynamické vlastné ovládanie:
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));
}
Tu sú snímky obrazovky, ktoré ukazujú, ako sa zobrazuje vlastné ovládanie:
customInfo kontroly
Ako sa na formulári zobrazí vlastné ovládanie
odpovede:
0 pre odpoveď č. 1môžete každému ovládaciemu prvku pridať názov
niečo ako:
(assessmentInfo[i] as AssessmentInfo).Name = "assessmentInfo" + i.ToString();
potom ste k nemu mohli pristupovať nasledujúcim spôsobom
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);
}
}