首頁 > 後端開發 > C++ > 如何有效地循環存取 Windows 窗體應用程式中的多個按順序命名的文字方塊並為其賦值?

如何有效地循環存取 Windows 窗體應用程式中的多個按順序命名的文字方塊並為其賦值?

Barbara Streisand
發布: 2025-01-07 13:57:44
原創
722 人瀏覽過

How Can I Efficiently Iterate Through and Assign Values to Multiple Sequentially Named Textboxes in a Windows Forms Application?

迭代多個文字方塊

在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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板