我需要从自定义控件中的文本框中检索文本。自定义控件是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自定义控件
自定义控件如何在表单上显示
答案 0 :(得分: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);
}
}