请大家看看这段C#代码是神马意思啊(就几行)好像是递归吧,不怎么熟悉.还有con.controls.count不是固定值吗,那递归岂不是没有出口了吗?就几行代码,..- -忘了放代码了...private void setTag(Control cons){f

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 11:31:28
请大家看看这段C#代码是神马意思啊(就几行)好像是递归吧,不怎么熟悉.还有con.controls.count不是固定值吗,那递归岂不是没有出口了吗?就几行代码,..- -忘了放代码了...private void setTag(Control cons){f

请大家看看这段C#代码是神马意思啊(就几行)好像是递归吧,不怎么熟悉.还有con.controls.count不是固定值吗,那递归岂不是没有出口了吗?就几行代码,..- -忘了放代码了...private void setTag(Control cons){f
请大家看看这段C#代码是神马意思啊(就几行)
好像是递归吧,不怎么熟悉.
还有con.controls.count不是固定值吗,那递归岂不是没有出口了吗?
就几行代码,..
- -忘了放代码了...
private void setTag(Control cons)
{
foreach (Control con in cons.Controls)
{
con.Tag = con.Width +":" + con.Height + ":" + con.Left + ":" + con.Top + ":" + con.Font.Size;
if (con.Controls.Count > 0)
setTag(con);
}
}

请大家看看这段C#代码是神马意思啊(就几行)好像是递归吧,不怎么熟悉.还有con.controls.count不是固定值吗,那递归岂不是没有出口了吗?就几行代码,..- -忘了放代码了...private void setTag(Control cons){f
//这个方法是递归
private void setTag(Control cons)
{
//循环遍历你传入的控件下的所有控件
foreach (Control con in cons.Controls)
{
//将该控件的Tag值赋值为这个控件的高度,宽度,左边框,上边框和大小并用点连接
con.Tag = con.Width +":" + con.Height + ":" + con.Left + ":" + con.Top + ":" + con.Font.Size;
//判断该控件下是否还有其他控件,若有,继续调用该方法进行赋值
if (con.Controls.Count > 0)
setTag(con); //这边就是又调用自己的方法了,递归下去,终止条件就是该控件下的控件count>0
}
}