c#跨窗体调用操作

我知道的常用的有三种,以前记录的笔记:

1.通过构造函数实现

在form1的load事件中new form2时  在构造函数里添加一个参数 此参数就是form1类型的参数,同时记得在form2里重写构造函数   这样在form2里就可以操作form1了。

代码:  form1中from2 f2=new from2(this);     f2.show();

           from2 中重写构造函数private form1 f;   public form2(form1 f){this.f=f;    init()//窗体生成器函数考进来} form2 的click事件this.f.close();可以了。

2.通过委托事件实现

简单的来说,假若有两个窗体控件Form1和Form2,想通过Form1来操作Form2,你就在Form1里声明一个事件,然后再Form2中注册这个事件,注册事件的方法在VS2010里tab两下自动生成相关回调函数。这个回调函数就是当你触发事件时用来进行处理相关实现的。(这是一个跨窗体互操作的实例http://blog.csdn.net/bdstjk/article/details/7004035

3.通过接口实现(避免暴露所有的方法,属性和事件等)

十一来了,我想说该翘课走人了。老师,对不住了。

原文地址:https://www.cnblogs.com/lxGIS/p/3345248.html