遍历面板控件

问题描述:

在C#WinForm应用程序中,我需要迭代所有类型为TextBox的控件。 TextBox ontrols是动态添加的。遍历面板控件

 IEnumerable<TextBox> textBoxes = ActionsPanel.Controls.OfType<TextBox>(); 

     Debug.WriteLine(ActionsPanel.Controls.Count); 

     foreach (TextBox textBox in textBoxes) 
     { 

     } 

上面的代码不起作用,在foreach我什么都没有。奇怪的是,如果我计算面板中的所有控件,我会得到面板上的实际控件编号。

 Debug.WriteLine(textBoxes.Count()); 

返回0.我在这里做错了什么,这真是令人困惑。

+0

这可能是简单的面板不包含控制。你是如何将它们添加到ActionsPanel的? – Steve

+0

我正在使用'panel.Controls.Add(mytextbox);'添加一个TextBox类型的控件的例子。这些控件在获取它们时也是可见的。 –

+0

面板是ActionPanels吧? – Steve

找到解决办法,问题是,所有的TextBox控件是一个TableLayoutPanel内部更好的布局控制,完整的源代码在这里:pastebin.com/yz8JN4yr