c# winform 不同窗体传值的交互方法

一、使用静态类全局可用的特点  最简单,推荐

用字段储存form1,新建静态类:

  public static class Jh
    {
        public static Form F1 { get; set; }

    }

form1加载事件时传入储存

 private void Form1_Load(object sender, EventArgs e) //加载事件
        {
            Jh.F1 = this;  //this关键字,代表当前实例form1
        }

form2中调用静态类字段即可:

 private void button2_Click(object sender, EventArgs e)
        {
            Jh.F1.Close();
        }

 

二、构造函数传入

form1中:

 private void Button1_Click(object sender, EventArgs e)
        {
            //通过构造函数传入当前窗口实例this
            new Form2(this).Show(); // new Form2(this.textBox1.Text).Show();传字符串
        }

form2中:

   Form mform1 = null; //先定义一个FORM1类,用来储存传过来的form1
        public Form2(Form1 myform)
        {
            InitializeComponent();

            mform = myform;   
        }

 form2使用:

 private void button1_Click(object sender, EventArgs e)
        {
            mform.Hide();
            mform.Show();
        }

三、委托

 

 

posted @ 2021-04-06 22:55  遥月  阅读(428)  评论(0)    收藏  举报