【发布时间】:2017-07-22 10:03:37
【问题描述】:
我知道我缺少一些基本的东西,但我对递归还是很陌生,很难知道要寻找什么。我在 void 递归方法上做得很好,但是这个布尔值让我失望了。
我需要检查我的 TableLayoutPanel 中的每个 Control,看看它是否是一个 TextBox,然后看看它是否有文本。 (如果确实返回 true,如果所有 TextBox 为空,则返回 false。)
这是我开始的,我明白为什么它不起作用,但我不知道解决方案是什么。
private bool CheckNewRecord(Control Con)
{
foreach (Control C in Con.Controls)
{
if (C is TextBox && ((TextBox)C).Text != "")
{
return true;
}
else
{
return CheckNewRecord(C);
}
}
return false;
}
我认为正在发生的事情是它到达最后一个控件并看到它没有孩子,并因为它跳过循环而返回 false。
【问题讨论】:
标签: c# winforms recursion boolean tablelayoutpanel