你可以遍歷所有文本框的東西用abatishchev解決方案解釋here。
我背誦了他在這一個:
定義的擴展方法:
public static IEnumerable<TControl> GetChildControls(this Control control) where TControl : Control
{
var children = (control.Controls != null) ? control.Controls.OfType<TControl>() : Enumerable.Empty<TControl>();
return children.SelectMany(c => GetChildControls(c)).Concat(children);
}
然後使用它是這樣的:
var allTextBoxes = this.GetChildControls<TextBox>();
最後循環通過他們:
foreach (TextBox tb in this.GetChildControls<TextBox>())
{
if(String.IsNullOrEmpty(tb.Text)
{
// add textbox name/Id to array
}
}
您可以將所有文本框ID添加到集合中,並在末尾使用此集合來顯示用戶需要填寫哪些Textboex。
編輯:
foreach循環是有點誤導
您可以使用它像這樣:
foreach (TextBox tb in this.GetChildControls<TextBox>()) { ... }
或
foreach (TextBox tb in allTextBoxes) { ... }
如果你有救了它事先給一個變量。