怎样实现共用父窗口工具栏上的保存按钮来保存各个子窗口的内容:
就是说:当需要保存子窗口记录到DB时,点击父窗口工具栏上的保存按钮,怎样实现呢?
就像OFFFICE WORD一样,不管你打开多少个文件,都是点击工具栏上的保存按钮即可完成save动作,
因为我不想在每个子窗口都放一个保存按钮。

解决方案 »

  1.   

    父窗体的MdiChildren获取各个窗体,调用子窗体的保存方法保存.
      

  2.   

    1、定义一个窗体类,
    public class MyForm : Form
    {
        public virtual void ChildSave()
        {    }
    }2、让你的所有子窗体都继承这个类
    public class YourChildForm1 : MyForm 
    {
        public void override ChildSave()
        {
            //保存子窗口1的内容
        }
    }
      
    public class YourChildForm2 : MyForm 
    {
        public void override ChildSave()
        {
            //保存子窗口2的内容
        }
    }3、当主窗口的保存按钮被点击时,遍历其所有子窗口
    public void ParentSave()
    {
        foreach(Form frm in this.MdiChildren)
        {
             MyForm mf = frm as MyForm;
             mf.ChildSave();//说明
        }
    }说明:在这里我认为一定要设计一个子窗体的父类MyForm,然后重写保存方法,这样才可以不用担心各个子窗体的实际类型,直接调用其方法(触发事件则在MyForm定义一个公共事件)
      

  3.   

    for循环
    save(父窗口.子窗口[i].txt控件.text)
    { 保存路径:子窗口[i].txt}
      

  4.   

    mathieuxiao方法完全可行,非常感谢,同时也感谢各位楼主的参与.