C# MDI编程中子窗体调用子窗体的问题

MDI编程中,从父窗体调用了子窗体,会出现子窗体隶属父窗体。但当我们要从一子窗体调用另一个子窗体,并且,调用过后,这个被子窗体调用出来的子窗体,会出现隶属于父窗体的情况是什么实现的呢?

下面是针对这种情况的一个简单实现。

 

在一个项目中建三个窗体,分别为Form1Form2Form3。其中,Form1设置为父窗体,在Form1上有一个按钮button1,在这个按钮的Click事件中,实现调用Form2。在Form2上也有一个按钮button1, 在这个按钮的Click事件中,实现调用Form3

 

以下是具体的代码过程,代码中作了关键注释:

Form1中的代码:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

 

namespace MdiFormTest

{

    public partial class Form1 : Form

    {

       //定义一个Form1static变量SForm1

       static public Form1 SForm1 = null;

       public Form1()

       {

           InitializeComponent();

 

           //Form1赋给SForm1

           SForm1 = this;

       }

 

       privatevoid button1_Click(object sender, EventArgs e)

       {

           Form2 form2 = new Form2();

           form2.MdiParent = this;

           form2.Show();

       }

    }

}

 

Form2中的代码:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

 

namespace MdiFormTest

{

    public partial class Form2 : Form

    {

       public Form2()

       {

           InitializeComponent();

       }

 

       privatevoid button1_Click(object sender, EventArgs e)

       {

           Form3 form3 = new Form3();

           //指明Form3的父窗体是Form1

           form3.MdiParent = Form1.SForm1;

           form3.Show();

       }

    }

}

 

以上就是对这个问题的解决。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值