【发布时间】:2017-11-04 07:39:20
【问题描述】:
在 C# WinForm 应用程序中,我需要迭代所有属于 TextBox 类型的控件。 TextBox 控件是动态添加的。
IEnumerable<TextBox> textBoxes = ActionsPanel.Controls.OfType<TextBox>();
Debug.WriteLine(ActionsPanel.Controls.Count);
foreach (TextBox textBox in textBoxes)
{
}
上面的代码不起作用,在 foreach 我什么也没得到。奇怪的是,如果我计算面板中的所有控件,我会得到面板上的真实控件编号。
Debug.WriteLine(textBoxes.Count());
返回0。我在这里做错了什么,真的很混乱。
【问题讨论】:
-
这可能只是面板不包含控件。您是如何将它们添加到 ActionsPanel 中的?
-
我使用
panel.Controls.Add(mytextbox);添加一个TextBox 类型的控件示例。控件在获取过程中也是可见的。 -
panel 是 ActionPanels 吧?
-
是的,我应该在 stackoverflow 写 ActionsPanel 而不是 panel。
-
那么这里有一些不同的东西。如果 ActionsPanel.Controls.OfType 没有返回任何文本框,则那里没有文本框。关于清除/删除这些框添加了什么?
标签: c# winforms textbox controls