遍历面板控件
问题描述:
在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.我在这里做错了什么,这真是令人困惑。
答
找到解决办法,问题是,所有的TextBox控件是一个TableLayoutPanel内部更好的布局控制,完整的源代码在这里:pastebin.com/yz8JN4yr
这可能是简单的面板不包含控制。你是如何将它们添加到ActionsPanel的? – Steve
我正在使用'panel.Controls.Add(mytextbox);'添加一个TextBox类型的控件的例子。这些控件在获取它们时也是可见的。 –
面板是ActionPanels吧? – Steve