将面板放在C#的前面

时间:2018-11-23 03:08:35

标签: c# winforms

出于某种原因,当我使用诸如

的代码时

this.panel.BringToFront(); this.panel.show(); this.panel.visible = true

然后将其他面板设置为false,等等。

当前代码,显示底部面板3,但对面板4和5保留空白。

private void button10_Click(object sender, EventArgs e)
    {

        this.panel3.Location = this.panel3.Location;
        this.panel3.Show();
        this.panel3.BringToFront();

        this.panel4.SendToBack();
        this.panel4.Hide();
        this.panel5.SendToBack();
        this.panel5.Hide();




    }


private void button4_Click(object sender, EventArgs e)
    {
        this.panel5.Location = this.panel5.Location;
        this.panel5.Show();
        this.panel5.BringToFront();

        this.panel4.SendToBack();
        this.panel4.Hide();
        this.panel3.SendToBack();
        this.panel3.Hide();




    }

private void button3_Click(object sender, EventArgs e)
    {
        this.panel4.Location = this.panel4.Location;
        this.panel4.Show();
        this.panel4.BringToFront();

        this.panel5.SendToBack();
        this.panel5.Hide();
        this.panel3.SendToBack();
        this.panel3.Hide();


    }

这不起作用,当我单击button3和button 4时,它不显示任何面板,而当我单击button10时,它显示了应该使用的panel3(底部面板),但是为什么不显示面板4和5。

我也已经使按钮执行此操作,并且它具有相同的错误:

 private void button4_Click(object sender, EventArgs e)
    {
        panel5.Visible = true;
        panel4.Visible = false;
        panel3.Visible = false;




    }

但这也不起作用。我问过一些不和谐的人,但这些天似乎没人知道什么,只是免费获得角色,这是愚蠢的,但这就是为什么我在这里寻求帮助。

2 个答案:

答案 0 :(得分:0)

在其他面板上添加面板时,它将进入第一个面板的内部。当您尝试panel.BringToFront()时,它不起作用,因为第一个面板在背面。

这是您可以做的...

转到视图->其他Windows->文档大纲

enter image description here

然后尝试将面板设置为同一级别,并使用箭头键而不是使用鼠标拖动来移动面板。

答案 1 :(得分:0)

似乎您已在要显示的其他面板中添加了面板。单击按钮时,显示它不会显示正确的面板。

确保面板的父面板相同。如果面板的父面板不同,则更改面板的父面板相同。