C#打开的窗体中返回到上一个窗体

2024-12-17 12:37:56
推荐回答(4个)
回答1:

首先在 Form1写如下代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace _2
{
public partial class Form1 : Form
{
public static Form1 pForm1 = null;
public Form1()
{
pForm1 = this;
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e) //一个按钮控件的单击事件
{

Form2 frm2 = new Form2();
frm2.Show();
this.Hide();

}
}
}
然后在Form2中加下面代码就行了
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace _2
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
  //关闭Form2时显示Form1
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Form1.pForm1.Show();
}
}
}

回答2:

在打开第2个窗体的事件里 比如单击button1按钮
private void button1_Click()
{
form2 frm=new form2(); //实例化第2个窗体对象
frm.Show(); //打开第2个窗体
this.visible=false;//设置第一个窗体隐藏
}
在完成第2个窗体的事件里, 比如单击完成按钮 buttonOK按钮
private void buttonOK_Click()
{
from1 frm=new from1();
frm.show();
this.visible=false;
}

回答3:

模态直接再事件里处理
form1.visible=false;form1.showintaskbar=false;
form2.showdialog();
form1.visible=true;form1.showintaskbar=true;

或者非模态
form1.visible=false;form1.showintaskbar=false;
form2.closed+=form2closed;
form2.show();

form2closed(){form1.visible=false;form1.showintaskbar=false;}

回答4:

设置visible属性不就行了。