C#.NET学习笔记--MDI窗体相互调用一

 某些情况下,我们不只是单一的从主窗口调用子窗口,在现在我们所能使用到的,所能看到的软件里面,很多软件都引入了从子窗口调用主窗口的例子。这里就不一一列举了啊!
从主窗口调用子窗口相信很多人都会做了!基本代码如下:
 Form2 form2=new Form2();  //其中Form2是子窗口
 form2.Show();

假如我们现在要执行一个在调用子窗口的同时隐藏主窗口,当子窗口关闭时显示隐藏了的主窗口,当然这个在主窗口的代码很好实现,代码如下:
Form2 form2=new Form2();  //其中Form2是子窗口
form2.Show();
this.hide();
以上三句代码就实现了在调用子窗口的同时,隐藏掉了我们的主窗口了!

(因为我自己学习C#到现在不超过一星期,所以我刚开始想这个问题的时候,出现错误了)下面是我最初的错误想法:
我最开始是这么想的:使用new来显示我的主窗口,当然这个是错误的,因为new方法会在新的内存区建立一个和最初建立的主窗体一摸一样的窗体,而new的这个窗体已经不是我们需要的最初的窗体了!
其实很简单,当你使用new方法以后,你编译你的代码,你的程序是不会终止的。(别笑我哈,我也才接触C#不长!)

开始我百思不得其解,但是我想想类不是属于引用类型的吗,为什么我不建立和主窗体的一个引用呢?我就顺着这样的思路走下去。果然成功了。
首先,我在主窗体的的代码中添加这样一行代码:
    public partial class Form1 : Form
    {
        static public Form1 F1 = null;  //就是这行代码才重要

        public Form1()
        {
            InitializeComponent();
            F1 = this;                //这里一定要对F1进行赋值
        }

        //其他代码
    }
然后在子窗体中,同样要做改变:在子窗体中需要改变的代码如下:
(因为我用的是按钮按下触发事件:子窗体关闭,而原来的主窗体显示出来)
        private void close_Click(object sender, EventArgs e)
        {
            Form1.F1 = Form1();    //这里F1就是一个引用类型 Form1是主窗体
            F1.Show();
            this.Close();
        }

或许还有朋友会问,你怎么知道F1是一个引用?那只有建议兄弟在巩固一下自己的基础知识了。

到现在为止,是不是觉得其实MDI窗口相互调用也不是那么难了啊,其实通过这个例子,我自己收获倒是更加加深了对C#中类的概念以及引用类型的使用!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值