我正在使用WinForm C# 有MainForm有一个面板在哪里。我的库存和销售用户控件在面板中打开。 panel1.Controls.Add(库存); 如何检查userControls是否打开? 当我检查它时,我想添加tabControl。但我不知道如何在不关闭用户控件的情况下添加tabPage控件。感谢
答案 0 :(得分:3)
我的意思是如果已经在panel1.Controls中添加了用户控件。如果添加了用户控件名称
- 酸
在您不知情的情况下,如何将用户控件添加到panel1.Controls
?如果您自己添加它,您应该已经知道用户控件的名称。
因此,您所要做的就是遍历panel1.Controls
中的控件,看看您是否找到了用户控件。例如:
foreach (Control ctrl in panel1.Controls)
{
if (ctrl.Name == myUserControl)
{
// Found the control!
// (do something here...)
}
}
或者,如果您出于某种原因不知道控件的名称,您仍然可以找到已添加到面板的Controls集合中的UserControl
类型的所有控件。像这样:
foreach (Control ctrl in panel1.Controls)
{
if (ctrl is UserControl)
{
// Found a UserControl!
// (do something here...)
}
}
请记住,每个控件上提供的Tag
property为您提供了一种唯一标识它的方法。如果您不知道名称,也可以检查该属性是否匹配。
答案 1 :(得分:0)
不确定您的意思是打开,但是您可以处理Panel类上的ControlAdded
事件以捕获添加控件时...
panel1.ControlAdded += new ControlEventHandler(p_ControlAdded);