首页 > 解决方案 > 如何获取在设计器中初始化的控件列表

问题描述

我有一个 winforms 项目,如何获取仅在设计器中初始化而不是从表单和其他地方初始化的控件列表。

或者我可以知道控件是否有一些设计器实例。

标签: c#winformswindows-forms-designer

解决方案


我认为你可以给那些在设计器中初始化的标签一个特殊的标签,以将它们与稍后在代码中添加的标签分开。

public Form1()
{
    InitializeComponent();
    foreach (Control control in Controls)
    {
        control.Tag = "FromDesigner";
    }
}

然后在另一个班级

Form1 form1 = new Form1();
foreach (Control c in form1.Controls)
{
    if (c.Tag != null && c.Tag.Equals("FromDesigner"))
    {
    }
}

推荐阅读