迭代多個文字方塊
在Windows 窗體應用程式中,您遇到了循環遍歷37 個具有連續名稱的文字方塊的挑戰,每個文字方塊名為“DateTextBox”,後面跟著數字後綴。您的任務涉及根據循環計數器“i”為這些文字方塊分配一個值。
遞歸控制檢索
要有效解決此問題,請利用可以的擴充方法遞歸檢索特定類型的所有控制項和子控制項。這是它的程式碼:
public static IEnumerable<TControl> GetChildControls<TControl>(this Control control) where TControl : Control { var children = (control.Controls != null) ? control.Controls.OfType<TControl>() : Enumerable.Empty<TControl>(); return children.SelectMany(c => GetChildControls<TControl>(c)).Concat(children); }
實作
要使用此方法,您可以擷取表單中存在的所有文字方塊:
var allTextBoxes = this.GetChildControls<TextBox>();
取得文字方塊清單後,您可以循環遍歷每個文字方塊並根據文字指派適當的值'i'計數器:
foreach (TextBox tb in allTextBoxes) { tb.Text = ...; }
透過實作此方法,您可以有效地迭代大量文字方塊並動態分配值,即使它們放置在巢狀面板中也是如此。
以上是如何有效地循環存取 Windows 窗體應用程式中的多個按順序命名的文字方塊並為其賦值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!