目前,我的表格看起来像这样:
这是一个里面有2个标签的面板。它们显然与面板相关联,因为移除面板时两个标签都被移除。
但是,当我在我的代码中尝试时,我无法访问面板的子项。
在我的Form类中,我猜想我不得不接受这个:
this.panelName.label1
或
this.panelName.Children
或
this.panelName.Items
然而,我无法找到如何访问标签。所有项目都是公开的。
有什么建议吗?
答案 0 :(得分:3)
您应该只能按名称访问您的标签,例如this.label1
。
在“面板上”标签铺设的事实并不重要,在这种情况下,它仅表示此标签被添加到面板的子控件的panelName.Controls
集合中的内容,但此标签仍然是您的类的成员,可以直接通过名称访问。
答案 1 :(得分:1)
您可以通过
来控制面板内的控件this.panelName.Controls
您可以使用
this.panelName.Controls.Find()
找到您的标签或只通过索引Controls[i]
答案 2 :(得分:0)
前几天我遇到同样的问题,我这样做了:
List<FrameworkElement> elements= new List<FrameworkElement>();
foreach (FrameworkElement element in yourContent.Children)
{
// your code here
//example:
elements.Add(element);
//more blabla code
}
编辑,加上更容易的名字。
它对我有用,希望它可以帮助你!