0
我知道我錯過了一些基本的東西,但我仍然對遞歸感到陌生,並且很難知道要尋找什麼。我用void遞歸方法做得很好,但是這個布爾值讓我感動。遞歸布爾方法在TableLayoutPanel中的foreach控制
我需要檢查我的TableLayoutPanel中的每個控件,看它是否是一個TextBox,然後看看它是否有文本。 (如果它確實返回true,如果所有文本框都爲空,則返回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;
}
我認爲正在發生的事情是它得到最後的控制,並認爲它沒有孩子,因爲它跳過循環回踢虛假。
現在你只是檢查所有的孩子的兩倍,而OP的代碼,一旦檢查它們。 – Servy
@Servy:我不喜歡遞歸,所以我現在展示了一個不同的 –
就是這樣!非常感謝,我想我現在明白了。我錯過的一點是,如果它在任何時候都是真的,它就需要一直返回真實。我只是看不到如何去做。我覺得我嘗試了這樣的事情,但是我錯誤地宣佈了虛擬布爾。無論如何,謝謝。 –