C#窗体传值(传委托,传控件,传Form)

源码地址:

https://download.****.net/download/zzwpublic/12838676


不知是否审核通过



近日在学C#,看到视频上讲窗体间传值使用委托传递,就思考能不能传控件 ,进而传Form。特此一试,给初学者玩一下。

C#窗体传值(传委托,传控件,传Form)

C#窗体传值(传委托,传控件,传Form)


Form2代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WF01
{
    public delegate void ShowTxt(string str);
    public partial class Form2 : Form
    {
        ShowTxt _showTxt;
        Label _label;
        Form1 _form1;
        public Form2(ShowTxt showTxt,Label label,Form1 form1)
        {
            this._showTxt = showTxt;
            this._label = label;
            this._form1 = form1;
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            _showTxt(textBox1.Text);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            _label.Text = textBox1.Text;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            _form1.label1.Text = textBox1.Text;
        }
    }
}


Form1代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

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

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2(ShowMsg, this.label1,this);
            
            f2.Show();
        }
        void ShowMsg(string msg)
        {
            label1.Text = msg;
        }
    }
}