1

我有一个panel带有控件的。控件是buttonsprogressbars。我只想将按钮添加到 a list,我该怎么做?

foreach (Control item in panel1.Controls)
{
    //if (item.GetType() == typeof(ButtonControl))   //i tried this too...
    if ((item is ButtonControl) && (item.Tag.ToString() == "It's not important"))
    {                        
        panel1.BtnList.Add(item);
    }
}

这是我自己的控件,它是从类ButtonControl继承的。Button

4

1 回答 1

0

使用 LINQ 你可以为System.Windows.Forms.Button

List<Button> buttonList = panel1.Controls.OfType<Button>().ToList();

如果您也想检查标签值,那么您可以这样做

List<Button> buttonList = panel1.Controls.OfType<Button>()
                                         .Where(r => r.Tag.ToString() == "It's not important")
                                         .ToList();

编辑:如果ButtonControl是你自己的班级,那么你可以这样做:

 List<ButtonControl> buttonList = panel1.Controls.OfType<ButtonControl>().ToList();
于 2012-12-04T09:05:57.643 回答