Form2
public delegate void mydelegate(); 
 public static  event mydelegate myevent;
        private void button1_Click(object sender, EventArgs e)
        {
            if (myevent != null)
            {
                myevent();
            }         }
 private void button2_Click(object sender, EventArgs e)
        {
            Form2 fm2 = new Form2();
            Form2.myevent += new Form2.mydelegate(fm2_myevent);
            fm2.Show(); 
            
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
        void fm2_myevent()
        {
            Form1_Load(null,null);
        }

if(SubForm().ShowDialog()==DialogResult.Ok)
  {
  //调用数据绑定代码。
  }

解决方案 »

  1.   

    Form2
    public delegate void mydelegate(); 
     public static  event mydelegate myevent;
            private void button1_Click(object sender, EventArgs e)
            {
                if (myevent != null)
                {
                    myevent();
                }         }
     private void button2_Click(object sender, EventArgs e)
            {
                Form2 fm2 = new Form2();
                Form2.myevent += new Form2.mydelegate(fm2_myevent);
                fm2.Show(); 
                
            }
            private void Form1_Load(object sender, EventArgs e)
            {
            }
            void fm2_myevent()
            {
                Form1_Load(null,null);
            }

    if(SubForm.ShowDialog()==DialogResult.Ok)
      {
      //调用数据绑定代码。
      }
      

  2.   

    一:重新绑定数据,再次绑定datagridview。
    二:http://topic.csdn.net/u/20101020/23/45b9dd05-86c0-46d2-b624-06f4a2204ab5.html重新刷新窗口。前提是加载Form1的时候绑定数据了。
      

  3.   

    这个问题和之前遇到的一样!!
    有个方法:
      你可以在窗体的 Activated 事件里面实现数据的更新,这样只要你对数据库做了修改(添加、删除、更新)dataGridView里的数据就会更新。
    例:
      //Activated 事件里调用FilldataGridView()函数实现更新   
      private void 窗体_Activated(object sender, EventArgs e)
      {
      FilldataGridView();
      }
      //具体实现
      private void FilldataGridView()
      {
      string strcd = "select * from 【表名】";
      OleDbConnection mycon = new OleDbConnection(strconnet);
      OleDbCommand mycom = new OleDbCommand(strcd);
      mycom.Connection = mycon;
        
      if (mycon.State == ConnectionState.Closed)
      {
      mycon.Open();
      }
      OleDbDataAdapter objdataAdapter = new OleDbDataAdapter(mycom);
      DataSet mydataset = new DataSet();
      objdataAdapter.Fill(mydataset, “【表名】”);
      dataGridView1.DataSource = mydataset.Tables["【表名】"];
      }
      

  4.   

    两个思路:
    第一个:利用事件委托,将添加记录事件 与 form1  DGV显示事件绑定   第二个:添加记录时更新数据库,然后form1  DGV重新读取或添加新价记录