Q:
mdi父窗体如何向子窗体发送数据,一般都有哪些方式?
A:
对于最通常的MDI窗口, WinForm在Form 类的属性中提供了Form.MdiChildren这个属性来返回所有的子窗口.
这样我们只要继承Form类, 然后使用这个类来新建子窗口.
public class MyChildForm : Form
{
}
然后, 通过MdiChildren属性来获取子窗口, 调用子窗口类中定义的公共方法, 或者公共属性来传送数据即可.
第二种方法, 我们还可以在MDI parent form中定义一个Event. 然后, 在自定义的子窗口中定义这个Event 的handler. 这样, 每次MDI parent Form只要抛出这个事件, 每个子窗口即可获得更新.
第三种方法, 简历一个全局变量, 然后让MDI parent 窗口来赋值, 子窗口再来查询即可. 我们可以在子Form种使用Timer来定期获取Form中的数据.
这样我们只要继承Form类, 然后使用这个类来新建子窗口.
public class MyChildForm : Form
{
}
然后, 通过MdiChildren属性来获取子窗口, 调用子窗口类中定义的公共方法, 或者公共属性来传送数据即可.
第二种方法, 我们还可以在MDI parent form中定义一个Event. 然后, 在自定义的子窗口中定义这个Event 的handler. 这样, 每次MDI parent Form只要抛出这个事件, 每个子窗口即可获得更新.
第三种方法, 简历一个全局变量, 然后让MDI parent 窗口来赋值, 子窗口再来查询即可. 我们可以在子Form种使用Timer来定期获取Form中的数据.