c#用递归遍历整个窗体上的子控件

来源:百度知道 编辑:UC知道 时间:2024/05/20 22:19:44
遍历之后为什么找不到panel,datagrid?

我这个可以万能检测所有空间是否为空,你看看是不是你想要的效果。

bool CheckAll(Control.ControlCollection coll)
{
foreach (Control var in coll)
{
if (var.Text == "")
{
lblmessage.ForeColor = Color.Red;
this.lblmessage.Text = var.Name + "为空!";
return false;
}
}
return true;
}

调用:
private void button1_Click(object sender, EventArgs e)
{
if (CheckAll(this.Controls) == true)
{
lblmessage.ForeColor = Color.Green;
this.lblmessage.Text = "Success";
}
}

楼主是要用到递归的吧

private void Search(Control con)
{
foreach (Control var in con.Controls)