跨窗体操作控件(委托实例)

事件是一种特殊的委托,先声明委托,在声明事件就是创建委托对象,然后实例化委托对象(事件名(参数)),访问控制符如果是全局的,那么在其他类中是可以操作这个全局的,

创建对象实例化都是可以的,打开新窗体时,在程序运行编译时在主窗体对子窗体实例化的委托是已经注册事件了的,委托的声明实例化调用的语法要清楚,每个公共的类都可

以被操作,所以在子窗体中可以传递参

数给主窗体。

private void button3_Click(object sender, EventArgs e)
        {
            Form2 f = new Form2();
            f.ChangColor += new ChangeFormColor(f_ChangeColor);
            f.Show();
        }

        void f_ChangeColor(bool topmost)
        {
            this.BackColor = Color.LightBlue;
            this.Text = "改变成功"; 
        }
public delegate void ChangeFormColor(bool topmost);
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        public event ChangeFormColor ChangColor;

        private void button1_Click(object sender, EventArgs e)
        {
            ChangColor(true);//执行委托实例
        }
    }
原文地址:https://www.cnblogs.com/772933011qq/p/5995479.html