WinFrom 返回上一个panel

时间:2022-12-28 00:59:04
做的软件是用panel切换显示,如何点返回按钮时如何返回上一个panel容器。不能指定panel名称,类似于js里的histroy.go(-1)。

整个流程有点像web里的点击新闻列表进入新闻详细,然后点击新闻作者进入作者详细。

作者详细有个返回按钮,这时点返回按钮回到新闻详细(如果从作者列表进入作者详细则返回作者列表)

5 个解决方案

#1


楼主两个panel是在同一个窗体下面的吗?要是不是,直接关闭当前的不就到了前面一个船体

#2


引用 1 楼 qiujialongjjj 的回复:
楼主两个panel是在同一个窗体下面的吗?要是不是,直接关闭当前的不就到了前面一个船体

是一个窗体下,窗体大概5个panel

#3


设置变量记录下呗

每次更新这个值  要返回的时候返回到上一个panel

#4


点击事件切换panel显示

#5


直接写代码切换呗

  private void btnNameCheck_Click(object sender, EventArgs e)
        {
            this.pnlMain.Controls.Clear();             //初始化主panel
            NameRule nr = new NameRule();       // 实例化要在pnlMain里显示的form(NameRule是新建的一个form)
            nr.TopLevel = false;                           //设置属性
            nr.Show();                                          //显示form
            this.pnlMain.Controls.Add(nr);            //把from添加到pnlMain里
        }
    这样实现点击【命名规范检查】按钮在panel里显示新的form
     同理在另外一个按钮里面写相同方法,打开另一个form
    private void btnCodeLineCheck_Click(object sender, EventArgs e)
        {
            this.pnlMain.Controls.Clear();
            CodeLineCount clc = new CodeLineCount();
            clc.TopLevel = false;
            clc.Show();
            this.pnlMain.Controls.Add(clc);    
        }

#1


楼主两个panel是在同一个窗体下面的吗?要是不是,直接关闭当前的不就到了前面一个船体

#2


引用 1 楼 qiujialongjjj 的回复:
楼主两个panel是在同一个窗体下面的吗?要是不是,直接关闭当前的不就到了前面一个船体

是一个窗体下,窗体大概5个panel

#3


设置变量记录下呗

每次更新这个值  要返回的时候返回到上一个panel

#4


点击事件切换panel显示

#5


直接写代码切换呗

  private void btnNameCheck_Click(object sender, EventArgs e)
        {
            this.pnlMain.Controls.Clear();             //初始化主panel
            NameRule nr = new NameRule();       // 实例化要在pnlMain里显示的form(NameRule是新建的一个form)
            nr.TopLevel = false;                           //设置属性
            nr.Show();                                          //显示form
            this.pnlMain.Controls.Add(nr);            //把from添加到pnlMain里
        }
    这样实现点击【命名规范检查】按钮在panel里显示新的form
     同理在另外一个按钮里面写相同方法,打开另一个form
    private void btnCodeLineCheck_Click(object sender, EventArgs e)
        {
            this.pnlMain.Controls.Clear();
            CodeLineCount clc = new CodeLineCount();
            clc.TopLevel = false;
            clc.Show();
            this.pnlMain.Controls.Add(clc);    
        }