在From2里增加对Form1的引用,然后在Form2保存的时候,让Form1执行更新操作。

解决方案 »

  1.   

    最简单的方法,在form2中调用你的form1的form_load函数。
    将窗口form1的Form1_Load声明成public
    form1
    public void Form1_Load(object sender, System.EventArgs e)
    {

    }
    Form2 mFrm=new  Form2();
    mFrm.Frm=this;
    mFrm.Show();form2
    private Form1 _Frm;
    public Form1 Frm
    {
        set
        {
          _Frm=value;        
        }
    }
    private void Form2_Closed(object sender, System.EventArgs e)
    {
        _Frm.Form1_Load(new object(),new  System.EventArgs()); 
    }
      

  2.   

    1、在form2添加完数据之后刷新form1
    form2 脚本: window.openner.document.reload();2、或者不刷新在form1脚本写个函数然后在form2调用如:
    form1: AddRow(objstring){...}form2:window.openner.AddRow("newrow");就可以了!哈哈!问题解决。分来!〉。。
      

  3.   

    哈!晕!是winform 啊!不早说。切
      

  4.   

    winform就简单了!不用我说了。hehe
      

  5.   

    CMIC(大象)的方法的确很简单,但是效率不高,
    你可以把Form2中添加的数据传回给Form1,
    然后在Form1里添加上Frorm2传回的数据。
      

  6.   

    //定义委托
    public delegate void RefreshHandler(); public class Refresh
    {
    public event RefreshHandler DataRefresh; public void ChangeDataRefresh()
    {
    if(DataRefresh != null)
    DataRefresh();
    }
    }
    //主窗体
    private void btnCallChild_Click(object sender, System.EventArgs e)
    {
    Refresh  refresh = new Refresh();
    refresh.DataRefresh += new RefreshHandler(refresh_DataRefresh);
    frmChild fc = new frmChild(refresh);
    fc.ShowDialog();
    }private void refresh_DataRefresh()
    {
    //方法具体实现(得到数据)
    }
    //子窗体
    private Refresh  r;
    //重载构造器
    public frmChild(Refresh  r):this()
    {
    this.r = r;
    }private void frmChild_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
        r.ChangeDataRefresh()
    }OK了!