C# Winform多窗口间切换

有一个主页面(不是用于登录),一个选项页面。1、打开程序时,只出现主页面;2、单击主页面的一个按钮,实现主页面关闭(或隐藏)、选项页面打开;3、关闭选项页面(单击窗口上的... 有一个主页面(不是用于登录),一个选项页面。
1、打开程序时,只出现主页面;
2、单击主页面的一个按钮,实现主页面关闭(或隐藏)、选项页面打开;
3、关闭选项页面(单击窗口上的“X”,或者单击选项页面上的一个按钮)时,选项页面关闭,主页面出现;
展开
 我来答
seekel
推荐于2017-10-12 · TA获得超过201个赞
知道答主
回答量:199
采纳率:0%
帮助的人:168万
展开全部
主界面 Form1:
private void button1_click(object sender,EventArgs e)
{
Form2 frm_item=new Form2();
frm_item.Show();
this.Hide();
}

选项界面 Form2:
private void Form2_FormClosing(object sender,FormClosingEventArgs e)
{
Form1 frm_main=new Form1();
frm_main.Show();
}

这样做等于重新加载了一个新的主界面,如果要原来的那个的话,你可以在原主界面中新建一个线程来检测,当Form2关闭时,线程执行base.Show();或者你也可以在new Form2(this)时把Form1传过来,再在Form2的构造函数中接收,当Form2关闭时执行Form1.Show();//接收的
追问
能把线程操作的方法,再详细说下么,多这个不熟悉啊
追答
你可以在Form1中新建的线程中设置一个bool类型的变量为false,当监测Form2执行关闭时,改变bool类型变量的值为true,当变量为true时,线程执行Form1的显示
和一个线程操作另外一个线程里的控件有点相近
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zntwins
2011-05-24 · 超过29用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:79.9万
展开全部
设置主窗体的Opacity属性或者用Hide方法都可以,感觉Opacity效果会好一些,Hide和Show有一点慢,可能是我的电脑太烂了。
private void button1_Click(object sender, EventArgs e)
{
this.Opacity = 0; //或者this.Hide();
Form form2 = new Form();
form2.ShowDialog();
this.Opacity = 100; //或者this.Show();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
z395328243
2011-05-24 · 超过29用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:82.3万
展开全部
Form1 中加个打开Form2按钮
private void 打开Form2按钮(object sender, EventArgs e)
{
Form2 f = new Form2();
f.Owner = this;
f.Show();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
muduclark
2011-05-30
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
Hide()
Show() 呗,在窗口Closed()里面写就是了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式