>>在Windows表單應用程序中訪問特定的兒童控件 >經常,開發人員需要在Windows表單應用程序中找到某種類型的所有控件。 本文概述了完成此任務的幾種有效方法。
方法1:直接鍵入訪問>這種簡單的方法利用表單的
屬性直接訪問與特定類型匹配的控制。 例如,要檢索所有文本框:
Controls
<code class="language-csharp">Control[] textboxes = this.Controls.OfType<TextBox>().ToArray();</code>
或者,LINQ表達式提供了一種基於類型過濾控制的簡潔方法。 以下代碼摘要檢索所有按鈕:
方法3:遞歸搜索<code class="language-csharp">var buttons = from ctrl in this.Controls where ctrl.GetType() == typeof(Button) select ctrl;</code>
>
對於具有嵌套控件的方案,需要遞歸功能。此函數通過所有控件迭代,並返回指定類型的功能:
<code class="language-csharp">public IEnumerable<Control> GetAllControlsOfType(Control parent, Type type) { foreach (Control ctrl in parent.Controls) { if (ctrl.GetType() == type) yield return ctrl; foreach (Control child in GetAllControlsOfType(ctrl, type)) yield return child; } }</code>
選擇正確的方法
<code class="language-csharp">var textboxes = GetAllControlsOfType(this, typeof(TextBox));</code>
最佳方法取決於您表格結構的複雜性。 直接類型訪問是簡單表單的理想選擇,而LINQ和遞歸方法更適合具有嵌套控件的表格。
以上是如何在Windows表單中有效檢索特定的兒童控制?的詳細內容。更多資訊請關注PHP中文網其他相關文章!