.NET中开发WinForm程序,如何通过一个窗口打开另外一个窗口,要求上一窗口关闭
.NET中开发WinForm程序,如何通过一个窗口打开另外一个窗口,要求上一窗口关闭,实际中会出现新窗口一闪而过的情况,因为开启窗口作为其父窗口,关闭后子窗口也就没了,有...
.NET中开发WinForm程序,如何通过一个窗口打开另外一个窗口,要求上一窗口关闭,实际中会出现新窗口一闪而过的情况,因为开启窗口作为其父窗口,关闭后子窗口也就没了,有什么办法将程序运行的当前窗口改为新窗口吗?或者有什么好的办法?
展开
5个回答
2013-07-13
展开全部
在Form1_load事件里写:this.isMdiparent=ture;
应该写在"新建"的按钮或者是有"新建"的menuItem里面:
{
Form2 f2=new Form2();
f2.isMdichildren=true;
f2.Mdiparent=this;
f2.show();
}
然后,再Form2的load事件里写:
{
this.Active();
}
Form2的init事件里也要写:this.Active;
在Form2关闭的时候(close事件)写判断是否保存之类的语句, Close事件这里的最后一句写this.close();
应该是这样子的,我以前也写过MDI窗体的程序的, 这次给你写的时候,机器上没有.NET环境, 只好凭借记忆力打了,你要测试的话呢,应该自己把我写的打一遍,有个快捷键Ctrl+J的, 如果我的有个别单词的错误,你可以按Ctrl+J显示可选列表,找最相近的...
应该写在"新建"的按钮或者是有"新建"的menuItem里面:
{
Form2 f2=new Form2();
f2.isMdichildren=true;
f2.Mdiparent=this;
f2.show();
}
然后,再Form2的load事件里写:
{
this.Active();
}
Form2的init事件里也要写:this.Active;
在Form2关闭的时候(close事件)写判断是否保存之类的语句, Close事件这里的最后一句写this.close();
应该是这样子的,我以前也写过MDI窗体的程序的, 这次给你写的时候,机器上没有.NET环境, 只好凭借记忆力打了,你要测试的话呢,应该自己把我写的打一遍,有个快捷键Ctrl+J的, 如果我的有个别单词的错误,你可以按Ctrl+J显示可选列表,找最相近的...
2013-07-13
展开全部
你可以使用ApplicationContext
在Program类中
static class Program
{
internal static ApplicationContext context = new ApplicationContext(new Form1());
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(context);
}
}
然后这样显示窗体:
Form2 form = new Form2();
Program.context.MainForm = form;
form.Show();
就可以将上下文的主窗体设置为新的Form2了,然后关闭form1就不影响程序运行了
在Program类中
static class Program
{
internal static ApplicationContext context = new ApplicationContext(new Form1());
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(context);
}
}
然后这样显示窗体:
Form2 form = new Form2();
Program.context.MainForm = form;
form.Show();
就可以将上下文的主窗体设置为新的Form2了,然后关闭form1就不影响程序运行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-13
展开全部
不能的。只能隐藏。因为第一个窗体是程序的入口点。
关闭 它就像相当于关闭整个程序。
Form2 form2=new form2();
this.Hide();//隐藏第一个窗体。
form2.Show();
关闭 它就像相当于关闭整个程序。
Form2 form2=new form2();
this.Hide();//隐藏第一个窗体。
form2.Show();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-13
展开全部
Form2 form2=new form2();
form2.Show();
form2.Show();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-13
展开全部
这个问题啊
我也只有想到把上一窗口隐藏了
不过这个方法不是很好
如果你实在找不到好的方法
建议先用一下吧
我也只有想到把上一窗口隐藏了
不过这个方法不是很好
如果你实在找不到好的方法
建议先用一下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询