c# 如何返回上一窗口

我有很多个WinForm窗体,WinForm1,WinForm2,WinForm3,WinForm4,WinForm5.....我如何从 WinForm5点击返回按钮返回到WinForm4,WinForm4再返回到WinForm3....但是又不希望前面 WinForm4,WinForm3等窗体被new,就是前面的WinForm窗体上内容又不希望被new掉。。
同时,需要隐藏上一窗口。
例如:form1->显示fom2(隐藏form1)->返回fom1,关闭form2

Hide()方法

frmA:{frmB objB=new frmBobjB.showDialog();此时跳至BobjB.dispose();}frmB:this.close();此时B关闭,跳回A,并接着执行objB.dispose();释放B

//1.program.cs里:
namespace justatry
{
public class abc
{
public static int i = 0; //全局变量,判断有没有窗体2
}

static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]

static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
//窗体一:
namespace justatry
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
if (abc.i == 0) //没有窗体2.则打开
{
Form2 form2 = new Form2();
abc.i = 1; //打开后至1
form2.Show();
}

}
}
}
//窗体二:
namespace justatry
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{

}

protected override void OnFormClosing( FormClosingEventArgs e) //对关闭事件做重载
{
abc.i = 0; //回0

base.OnFormClosing(e);
}
}
}
//代码结束

//2.看你是什么应用,很多情况下可以用Tabcontrol 有时只用一个窗体一样可以解决多个应用。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-11-29
Hide()方法

frmA:{frmB objB=new frmBobjB.showDialog();此时跳至BobjB.dispose();}frmB:this.close();此时B关闭,跳回A,并接着执行objB.dispose();释放B

//1.program.cs里:
namespace justatry
{
public class abc
{
public static int i = 0; //全局变量,判断有没有窗体2
}

static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]

static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
//窗体一:
namespace justatry
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
if (abc.i == 0) //没有窗体2.则打开
{
Form2 form2 = new Form2();
abc.i = 1; //打开后至1
form2.Show();
}

}
}
}
第2个回答  2019-10-17
直接定义一个就可以了,比如:
this.dialogresult=dialogresult.ok;
this.close();
希望对你有帮助,有疑问请追问或是hi

求!!!C#怎样在下一个窗口得到上一窗口的内容,比如说“用户名”_百度知...
1.新建Form1和Form2 2.在Form1中添加一个textBox1和一个Button1 3.在Form1的中申明一个静态变量:public static string UserName;4.然后在Button的Click事件里面写代码:private void button1_Click(object sender, EventArgs e){ UserName = textBox1.Text;Form2 f2 = new Form2();f2.Show();...

c# 如何返回上一窗口
Application.Run(new Form1());} } } \/\/窗体一:namespace justatry { public partial class Form1 : Form { public Form1(){ InitializeComponent();} private void button1_Click(object sender, EventArgs e){ if (abc.i == 0) \/\/没有窗体2.则打开 { Form2 form2 = new Form2();...

c# 返回上一窗口
用全局变量保存 比如 你可以新建一个类,里面写上public int MyVal=0;

C#winform 如何返回到历史界面?
你在Form1定义一个变量,其它窗体打和开Form1时把自身传给这个变量。这样就知道返回哪个窗口了

C# 如何打开一个新窗体后,关闭上一个窗体?
定义一个数组存放打开窗体的Name,在打开窗体的时候将数组中最后一个Name取出,在查找出对应的对象,关闭掉。在将要打开的窗体打开,将Name放到数组里面。

C#调用完窗口怎么回到原位
Form1里定义个public string[] data=new string[6];\/\/假设你需要的是6个字段 Form2里写 Form1 frm1;Public Form2(Form1 frm1){ this.frm1=frm1;} 确认按钮事件:frm1.data[0]=TextBox1.Text;...frm1.data[5]=TextBox6.Text;this.close();然后在temp.Show();下面使用你的全局变量dat...

...studio中,调试C#.net程序,断点的时候,返回上一条,是什么快捷键...
c#中不能返回上一条,即调试的时候不能返回上一条命令执行前的状态,但是想看到上一条语句影响的变量还是可以的,将上一条命令执行时影响的变量加入watch窗口即可

C#窗口切换问题:如何切换回主窗体
可以把主窗口作为参数传给子窗口 代码如下:主窗口:public partial class frmMain : Form { public static frmMain f0 = null; \/\/用来引用主窗口 public frmMain(){ InitializeComponent();f0 = this; \/\/赋值 } private void button1_Click(object sender, EventArgs e){ new frmCx().Show();this...

c# 如何返回上一窗口
c# 如何返回上一窗口 我有很多个WinForm窗体,WinForm1,WinForm2,WinForm3,WinForm4,WinForm5...我如何从 WinForm5点击返回按钮返回到WinForm4,WinForm4再返回到WinForm3...但是又不希望前面 WinForm4,WinForm3等窗体被new,就是前面的WinForm窗体上内容又不希望被new掉。... 展开 orayang...

怎么在C#中实现打开一个新窗口的同时关闭原来旧窗口
然后你就可以写登陆了 如果登陆成功 F1.Show(); 关闭Form2 this.Close();这样就可以 很简单的 本回答被提问者和网友采纳 jiangsong2005 | 推荐于2018-03-02 11:37:59 举报| 评论(3) 12 2 ...哪有这么复杂你把第一个窗口的对象做为新窗口的构造函数的参数传进去,在新窗口的构造函数里面调用close...

相似回答