c# 如何返回上一窗口

我有很多个WinForm窗体,WinForm1,WinForm2,WinForm3,WinForm4,WinForm5.....我如何从WinForm5点击返回按钮返回到... 我有很多个WinForm窗体,WinForm1,WinForm2,WinForm3,WinForm4,WinForm5.....我如何从 WinForm5点击返回按钮返回到WinForm4,WinForm4再返回到WinForm3....但是又不希望前面 WinForm4,WinForm3等窗体被new,就是前面的WinForm窗体上内容又不希望被new掉。。
同时,需要隐藏上一窗口。
例如:form1->显示fom2(隐藏form1)->返回fom1,关闭form2
展开
 我来答
gwnoah999
推荐于2018-03-02 · TA获得超过111个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:131万
展开全部
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 有时只用一个窗体一样可以解决多个应用。
discovery522
推荐于2016-11-29 · TA获得超过4714个赞
知道大有可为答主
回答量:2308
采纳率:71%
帮助的人:1522万
展开全部
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();
}

}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
琦亦奇悦
2019-10-17 · TA获得超过4873个赞
知道大有可为答主
回答量:3086
采纳率:33%
帮助的人:238万
展开全部
直接定义一个就可以了,比如:
this.dialogresult=dialogresult.ok;
this.close();
希望对你有帮助,有疑问请追问或是hi
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式