窗体之间通信,可以把一些需要的东西设为public,比如窗体2的按钮点击,改变窗体1的某个按钮的背景颜色,这时候可以把窗体1的按钮的访问修饰符设为public的,但是这样给窗体2的权限就太大了,他不仅可以更改颜色,还可以更改其他很多的东西,处于安全,而且考虑到面向对象开放封闭的设计理念,这样就是不合理的
一般来说这种时候都是用事件,,首先要有一个参数为颜色的委托类型,然后在窗体2中声明一个对应参数的事件A.窗体1要写一个更改自己对应按钮颜色的方法,参数自然是颜色,然后把这个方法注册给窗体2的A事件,在窗体2点击事件绑定的方法内部,去调用这个事件A.就实现了需求 |