| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 763 人关注过本帖
标题:如何实现“父”与“子”窗口转换啊
只看楼主 加入收藏
我爱C_C编程
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-12-26
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
如何实现“父”与“子”窗口转换啊
新手的 实在没法用专业术语
搜索更多相关主题的帖子: 如何 专业 
2012-12-27 13:02
清心依旧
Rank: 1
等 级:新手上路
帖 子:4
专家分:7
注 册:2012-12-27
收藏
得分:7 
show方法显示
Hide方法隐藏
2012-12-27 14:57
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
收藏
得分:7 
其实我也没弄明白

马马虎虎 不吝赐教 我是路过蹭分滴
2012-12-28 23:46
剑傲
Rank: 2
等 级:论坛游民
帖 子:19
专家分:65
注 册:2008-10-17
收藏
得分:7 
哈哈!楼主发达了,恰好最近想出解决办法!windows编程中经常要用到窗体之间的切换,参考过很多网上以及经典书籍中的案例,很多都是利用form1.hide()方法将窗体1隐藏,然后显示窗体2,这样做虽然能实现效果,但是窗体一并未真正关闭。另有很多方法也实现了此功能,但采用了修改系统后台生成代码的方法,个人感觉始终不妥!鉴于以上原因,自己动手动脑写出了利用多线程实现窗体切换的源码,高手直接无视,仅供新人参考!
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace  多线程实现窗体切换{
    public partial class frmLogin : Form
    {
        public frmLogin()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            frmMain frmMain1 = new frmMain();
            Thread thread = new Thread(CreatNewForm);
            thread.Start(frmMain1);
            this.Close();
        }
        private void CreatNewForm(object obj)
        {
            frmMain frmMain1 = (frmMain)obj;
           frmMain1.ShowDialog();
        }
    }
}


2013-01-01 01:38
tyycome
Rank: 1
等 级:新手上路
帖 子:4
专家分:7
注 册:2013-1-6
收藏
得分:0 
第一 用Hide方法隐藏
第二  用showdialog打开


接小项目设计  有需求联系我谢谢418891000

代接小程序   QQ:418891000
2013-01-07 10:13
我爱C_C编程
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-12-26
收藏
得分:0 
以下是引用剑傲在2013-1-1 01:38:58的发言:

哈哈!楼主发达了,恰好最近想出解决办法!windows编程中经常要用到窗体之间的切换,参考过很多网上以及经典书籍中的案例,很多都是利用form1.hide()方法将窗体1隐藏,然后显示窗体2,这样做虽然能实现效果,但是窗体一并未真正关闭。另有很多方法也实现了此功能,但采用了修改系统后台生成代码的方法,个人感觉始终不妥!鉴于以上原因,自己动手动脑写出了利用多线程实现窗体切换的源码,高手直接无视,仅供新人参考!
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace  多线程实现窗体切换{
    public partial class frmLogin : Form
    {
        public frmLogin()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            frmMain frmMain1 = new frmMain();
            Thread thread = new Thread(CreatNewForm);
            thread.Start(frmMain1);
            this.Close();
        }
        private void CreatNewForm(object obj)
        {
            frmMain frmMain1 = (frmMain)obj;
           frmMain1.ShowDialog();
        }
    }
}
新手可以参考下
2013-01-17 16:59
我爱C_C编程
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-12-26
收藏
得分:0 
回复 3楼 zxd543
不会吧  你会不懂?至少现在我懂了  
2013-01-17 17:01
yangxu2013
Rank: 2
等 级:论坛游民
帖 子:4
专家分:13
注 册:2013-1-17
收藏
得分:0 
先把子窗体的所有者设置给父窗体
            Form2 f2 = new Form2();
            f2.Owner = this;
            this.Hide();
            f2.Show();


在子窗体中 把已经隐藏的父亲窗体打开并关闭自身窗体
Form1 f1=(Form1)this.Owner;
            f1.Show();
            this.Close();


2个窗体各拉个Button
2013-01-18 00:43
快速回复:如何实现“父”与“子”窗口转换啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032622 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved