首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试从动态自定义控件检索值

尝试从动态自定义控件检索值
EN

Stack Overflow用户
提问于 2012-04-25 23:56:43
回答 1查看 113关注 0票数 0

我需要从一个自定义控件的文本框中检索文本。自定义控件是ArrayList的一部分,因此一个窗体上可以显示多个自定义控件。如何从ArrayList中某个控件内的单个文本框中访问文本?

下面的代码显示了如何创建动态自定义控件:

代码语言:javascript
运行
复制
    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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-26 00:11:40

您可以为每个控件添加一个名称

类似于:

代码语言:javascript
运行
复制
(assessmentInfo[i] as AssessmentInfo).Name = "assessmentInfo" + i.ToString();

然后,您可以通过以下方式访问它

代码语言:javascript
运行
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10319278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档