选择多个相同类型的对象

本文关键字:对象 同类型 选择 | 更新日期: 2023-09-27 18:12:04

我有一个TabControl和三个TextBoxes,必须全部填充。我知道有一种选择相同类型的多个控件的"类型"方法,但是我想知道是否有一种简单的方法来选择 TabControl中的所有TextBoxes 。类似于下面的伪代码:

void checkAllBoxes(object object)
{
    using ((all of type TextBox) in TabControl)
    {
        if object.Text.HasValue;
        DoSomething();
    }
}

如果没有,为什么没有?

选择多个相同类型的对象

试试这个:

for (int i = 0; i < tabControl1.TabCount; i++)
{
     foreach (TextBox textBox in tabControl1.TabPages[i].Controls.OfType<TextBox>().Cast<TextBox>())
     {
          textBox.Text = "";//or something else
     }
}

你可以像这样过滤标签页中的文本框:

var txtList =  tabControl1.TabPages[0].Controls.Cast<Control>()
    .Where(c => c is TextBox)
    .ToList();