【C#学习记录02】C#父子窗口传值(一个窗口向另一个窗口传值)

一、在子窗口重写窗体加载函数

        public Form2()
        {
            InitializeComponent();
        }
        //重写窗体函数,this继承了原函数,先执行原函数中的内容
        //参数为flag
        public Form2(int flag):this()
        {
            //form2Flag 为本窗体的参数,用于接收父窗体传递的参数flag
            form2Flag = flag;
        }

二、父窗体实例化子窗体,并调用子窗体

        public static Form2 form2 = null;
        
        private void button1_Click(object sender, EventArgs e)
        {
            if(form2 == null)
            {
                //flag是测试使用的参数
                form2 = new Form2(flag);
                form2.Show();
            }
            else
            {
                //激活窗体
                form2.Activate();
                //默认窗口大小
                form2.WindowState = FormWindowState.Normal;
            }
        }

三、子窗体的关闭函数,将父窗体实例化的子窗体设置为null

        private void Form2_FormClosing(object sender, FormClosingEventArgs e)
        {
            Form1.form2 = null;
        }

四、代入参数测试

 父窗体默认flag为的0;子窗体forma2Flag默认为空;点击子窗体测试按钮,弹出为0,测试成功!

 此外,父子窗体传值还可使用委托-事件实现!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值