c# - 在选项卡控件内按名称顺序迭代文本框

标签 c# textbox iteration tabcontrol

我有一堆文本框,准确地说大约有 150 个。它们位于选项卡控件的不同选项卡内,并且在屏幕上不按名称排序。它们被简单地命名为 textBox1、textBox2、textBox3...我希望能够按名称而不是它们在表单上的显示方式来迭代它们。我该怎么做?

最佳答案

public IEnumerable<Control> GetChildrenRecursive(Control parent)
{
    var controls = new List<Control>();
    foreach(Control child in parent.Controls)
        controls.AddRange(GetChildrenRecursive(child));
    controls.Add(parent); //fix
    return controls;
}

TextBox[] textboxes = GetChildrenRecursive(this)
       .OfType<TextBox>().OrderBy(i => i.Name).ToArray();

关于c# - 在选项卡控件内按名称顺序迭代文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3246509/

相关文章:

c# - Entity Framework 与来自不同数据库的相同表名冲突

c# - Windows窗体文本框的透明度

lisp 迭代函数总是返回 nil

iteration - 迭代 dlang 结构

c# - 反射(reflection):如何获得泛型方法?

c# - WMI - 从 Win32_Product 中选择需要很长时间

c# - 拆分列表中的每个两个单词的字符串,比较是否相同并使用 Linq 进行计数

WPF-xaml 计算文本框值的总和

c# - 使用foreach循环C#将数组的内容写入文本框

java - 如何对每一行字符串应用 foreach 循环