我需要从一个自定义控件的文本框中检索文本。自定义控件是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
发布于 2012-04-26 00:11:40
您可以为每个控件添加一个名称
类似于:
(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);
}
}https://stackoverflow.com/questions/10319278
复制相似问题