我正在尝试清除我的splitcontainer的第一个面板中的所有复选框和文本框但是我没有运气,因为似乎没有任何事情发生。
private void clearSettingsBtn_Click(object sender, EventArgs e)
{
foreach (Control c in splitContainer1.Panel1.Controls)
{
if (c is CheckBox)
{
((CheckBox)c).Checked = false;
}
else if (c is TextBox)
{
((TextBox)c).Clear();
}
}
}
我错过了什么吗?
答案 0 :(得分:2)
实际上你的代码非常好,应该有另一个问题,例如错误的面板或更可能在你的面板中有另一个容器,比如GroupBox,在这种情况下(另一个容器)你应该遍历该容器。 / p>
如果您在面板中有一个容器,一个简单的代码可能是这样的:
foreach (Control control in splitContainer1.Panel2.Controls)
{
if (control is GroupBox)
{
foreach (Control child in (control as GroupBox).Controls)
{
if (child is CheckBox)
{
((CheckBox)control).Checked = false;
}
else if (child is TextBox)
{
(control as TextBox).Clear();
}
}
}
}
但是如果你想编写更通用的代码,你应该检查每个容器,即GroupBox,Panel等。
答案 1 :(得分:0)
试试这个
foreach (Control c in Panel1.Controls)
{
if (c is CheckBox)
{
((CheckBox)c).Checked = false;
}
else if (c is TextBox)
{
((TextBox)c).Text="";
}
}