C#跨窗体操作(引用传递)

现在给大家介绍一种最简单的跨窗体操作

WinForm的窗体是一个类,C#的类是引用类型,那么我们应该可以将WinForm窗体类进行传递,那不就可以进行操作了么?

 

效果描述:

有三个窗体然后顺序分别是

(1)点击第一个窗体中的按钮弹出第二个窗体,隐藏第一个窗体

(2)第二个窗体到一定时间弹出第三个窗体

(3)点击第三个窗体的按钮关闭第三个和第二个窗体,弹出第一个窗体

 

From1

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void 打开form2隐藏form1_Click(object sender, EventArgs e)
        {
            Form2 f = new Form2();
            f.fatherForm = this;
            f.Show();
            this.Hide();
        }
    }
}


 

Form2

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        public Form1 fatherForm;

        private void 打开from3_Click(object sender, EventArgs e)
        {
            Form3 f = new Form3();
            f.fatherForm = this;
            f.Show();
        }
    }
}


 

Form3

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
        }

        public Form2 fatherForm;

        private void 关闭form3from2显示from1_Click(object sender, EventArgs e)
        {
            fatherForm.fatherForm.Show();
            fatherForm.Close();
            this.Close();
        }

    }
}


 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页