用panel.visible=true后为什么panel上面的控件不能显示..写怎么样的代码可以显示控件

作者:佚名    更新日期:2025-06-23
首先请确认panel中的控件的visible属性也为true,然后将panel点右键“置于顶层”,在把panel里的每个控件也“置于顶层”,一般就可以了。

如果还是不行,先把panel中的控件全部拖出panel,然后删掉panel,再重新建一个。

如果你是一个懒人,不想看那么多,请参考以下代码:
foreach(Control ct in panel.Controls)
{
ct.BringToFront();
ct.Visible = true;
}
panel.Visible = true;
panel.BringToFront();

protected void Page_Load(object sender, EventArgs e)
{
//全都不显示
Panel2.Visible = false;
Panel1.Visible = false;
}
protected void Button1_Click(object sender, EventArgs e)
{
//不显示panel2
Panel2.Visible = false;
//显示panel1
Panel1.Visible = true;
}
protected void Button2_Click(object sender, EventArgs e)
{
//不显示panel1
Panel1.Visible = false;
//显示panel2
Panel2.Visible = true;
}

Pannel控件的visible属性默认为false;
一般先添加Pannel,再在其上添加其他控件,
不用修改为true;
修改为true将覆盖你后添加的其他控件

for each cc as control in panel1.controls
cc.bingtofront
next
就是把panel上的控件置前一下。

C#:winform中放一个的panel,然后再在panel中放一个lable,他们visible属性都是为true,为什么lable不显示~

你把lable控件所在的容器panel
panel.BringToFront();明显就父容器被其他容器给遮盖了

问题有三个

1.Panel1是后台端的ID,前台js调用应该用document.getElementById("")

2. var k=document.getElementById("Panel1").Visible="true";
要用变量就分开写,要么就不写
var k=document.getElementById("Panel1");
k.Visible="true";
或者
document.getElementById("Panel1").Visible="true";


2.js前台没有Visible属性的,要用css的display。

总结:
document.getElementById("").style.display = 'none';