C# 窗口间传递数据

C#两个窗口之间传递数据

1 公用变量值传递

  public partial class Form1 : Form  //parent form

    {

        public string name="";

        public Form1()

        {

            InitializeComponent();

        }

        private void newBtn_Click(object sender, EventArgs e)

        {

            Form2 form2 =new Form2();

            form2.ShowDialog(); //NOTE this! must be ShowDialog()  NOT Show()!

            if (form2.DialogResult == DialogResult.OK)

            {

                textBox1.Text = form2.name;

                form2.Close();

            }

        }

    }
 public partial class Form2 : Form // son form

    {

        public string name

       {

            set { textBox1.Text = value; }

            get { return textBox1.Text; }

        }

        public Form2()

        {

            InitializeComponent();

        }



        private void OK_Click(object sender, EventArgs e)

        {

            if (textBox1.Text == "")

            {

                MessageBox.Show("input!");

                return;

            }

            DialogResult = DialogResult.OK;

            Close();

        }

    }

2 使用地址方式传递

 public partial class Form1 : Form  //parent form



    {

        public string name="";

        public Form1()

        {

            InitializeComponent();

        }

        private void newBtn_Click(object sender, EventArgs e)

        {

            Form2 form2 =new Form2();

            form2.Owner = this;//form2的指针指向form1

            form2.ShowDialog();

            textBox1.Text = form2.name;

            form2.Close(); 

        }

    }

 public partial class Form2 : Form  //son form

    {

        public string name

       {

            set { textBox1.Text = value; }

            get { return textBox1.Text; }

        }

        public Form2()

        {

            InitializeComponent();

        }



        private void OK_Click(object sender, EventArgs e)

        {

            if (textBox1.Text == "")

            {

                MessageBox.Show("input!");

                return;

            }

            Form1 form1 = (Form1)this.Owner;//form2的父窗口指针赋给form1

            Close();

        }

    }


你可能感兴趣的:(C#)