我在运行时从另一个父窗体创建子窗体,子窗口包含一些控件,我无法在运行时检测到它,因为它依赖于传递给父窗体的数据?
运行前的子表单没有控件,因此.designer.cs
没有控件选项。
因此,如果.designer.cs
包含生成的控件的属性,那么在运行时将控件添加到子表单后?以及如何在运行时复制.designer.cs
的内容并将其放入文本文件中?
答案 0 :(得分:0)
此代码将遍历表单并从中获取您喜欢的内容。
如果您要求Control
,您将获得表格中的所有内容....
private IEnumerable<T> GetControls<T>(Control.ControlCollection ctrls)
{
foreach (object ctrl in ctrls)
{
foreach (var item in GetControls<T>(((Control)ctrl).Controls))
{
yield return item;
}
if (ctrl is T)
yield return (T)ctrl;
}
}
foreach(var txtbox in GetControls<TextBox>(form.Controls)
{
txtbox.ReadOnly = false;
}
答案 1 :(得分:0)
.designer.cs
由GUI可视化设计器(Visual Studio)生成。它已编译,无法在运行时修改。