weixin_52021625 2023-03-28 13:41 采纳率: 0%
浏览 76
已结题

C#winform 关掉当前界面,返回到上一界面,但不重新创建

我用的VS2022,form1用一个label进入form2,用的this hide;form form2=new form2;from2 show;。现在form2里面建立一个button想返回上一页请教一下button里面代码怎么写,或者还要改哪些,1进入2,1暂时关闭,2点击返回上一页,进入的还是原来的1,而不是新建的1。运行的时候始终就是一个页面。
要自己编写。

  • 写回答

6条回答 默认 最新

  • 小逸2023 2023-03-28 13:45
    关注
    该回答引用ChatGPT
    可以使用以下代码实现在关闭当前界面时返回到上一界面,但不重新创建:
    在form2中添加以下代码:

    private Form1 form1;
    public Form2(Form1 form1)
    {
    InitializeComponent();
    this.form1 = form1;
    }
    private void btnClose_Click(object sender, EventArgs e)
    {
    this.Close();
    form1.Show();
    }

    在form1中打开form2时,传入form1的实例:

    private void btnOpenForm2_Click(object sender, EventArgs e)
    {
    Form2 form2 = new Form2(this);
    form2.Show();
    this.Hide();
    }

    在form2中关闭时,调用form1的Show方法即可返回到上一界面,而不重新创建form1。
    评论

报告相同问题?

问题事件

  • 系统已结题 4月5日
  • 修改了问题 3月28日
  • 修改了问题 3月28日
  • 创建了问题 3月28日

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错