Winforms 用户控件之间的通信

Winforms 用户控件之间的通信,winforms,user-controls,Winforms,User Controls,我有一个windows窗体,它有两个用户控件,UC1和UC2。UC2需要一些有关UC1状态的信息。我可以想到的一种方法是,UC2有一个UC1实例作为类成员,我可以用表单中包含的实例初始化UC2中包含的UC1实例。之后,每当UC2需要获取有关UC1的任何信息时,它都可以从其局部类变量获取这些信息。不确定这是否是最好的方法?只需创建一个具有两个接口的对象。一个推东西进去,一个接收东西。物体本身会直接穿过。所有者表单创建一个实例,并将接口注入到UC1和UC2中 如果所属表单不需要将它们配对,那么就使用

我有一个windows窗体,它有两个用户控件,UC1和UC2。UC2需要一些有关UC1状态的信息。我可以想到的一种方法是,UC2有一个UC1实例作为类成员,我可以用表单中包含的实例初始化UC2中包含的UC1实例。之后,每当UC2需要获取有关UC1的任何信息时,它都可以从其局部类变量获取这些信息。不确定这是否是最好的方法?

只需创建一个具有两个接口的对象。一个推东西进去,一个接收东西。物体本身会直接穿过。所有者表单创建一个实例,并将接口注入到UC1和UC2中


如果所属表单不需要将它们配对,那么就使用静态实例。

这不是一个好主意。为什么这不只是一个用户控件?您是否真的重复使用它们,或者这真的属于form类?如果必须,请让表单构造函数设置所需的引用。