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 展开
同时,需要隐藏上一窗口。
例如:form1->显示fom2(隐藏form1)->返回fom1,关闭form2 展开
3个回答
展开全部
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 有时只用一个窗体一样可以解决多个应用。
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 有时只用一个窗体一样可以解决多个应用。
展开全部
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();
}
}
}
}
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();
}
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接定义一个就可以了,比如:
this.dialogresult=dialogresult.ok;
this.close();
希望对你有帮助,有疑问请追问或是hi
this.dialogresult=dialogresult.ok;
this.close();
希望对你有帮助,有疑问请追问或是hi
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |