有三个Winform窗口(权且称为form1、form2和form3),其中form1界面上有两个combBox(combBox1、combBox2),分别代表姓名和地址,并且已经与数据库表绑定好。form2和form3窗口分别用来维护数据库表tb_name和tb_Address,也就是分别用于为姓名表增删记录和为地址表增删记录。运行后打开form1可以通过下拉框分别选择姓名和地址,但是若combBox1中缺少某人或combBox2中缺少某个地址,在不关闭form1的前提下打开form2或form3增加相应的记录,希望在保存记录后相应的form1中的combBox1或combBox2能够即时更新,即能找到刚刚从form1或form2中添加的记录。
也即:比方说在form1并未关闭的情况下,打开form3添加一个新的地址记录,存盘关闭form3,这时form1中的combBox2在下拉时就能看到form3新添加的记录。请问该如何实现,最好给个代码看看、学学。谢谢了!

解决方案 »

  1.   

    如果每次在form1中输入某项时发现缺少内容就要关闭它再打开维护窗口添加后关闭掉再打开form1整个重新输入就太麻烦了,因为form1可能已经输入了不少的内容,就为了某项缺少内容而从头再输入太费事了。
      

  2.   

    那就是响应form3的closed或者closing事件了!
    在事件中更新数据源。
      

  3.   

    每次点击Combox打开下拉菜单的时候都根据form2或form3中的数据动态重新生成其下拉菜单
      

  4.   

    处理combobox的dropdown事件,在事件处理方法中实现动态绑定.
      

  5.   

    每次单击combobox时更新绑定。
      

  6.   

    参考这个:
    //frmMain.cs
    //父窗体中弹出子窗体的方法
    private void ShowChild()
    {
        frmChild frm = new frmChild(this);//为子窗体加一个带参构造函数
        frm.ShowDialog();
    }
    public void Test(){}//测试公共方法//frmChild.cs
    //子窗口的方法中调用
    //带参构造函数
    private frmMain _frmMain=null;
    public frmChild(frmMain objMain)
    {
          this._frmMain=objMain;
          //......其它代码    
    }
    //调用frmMain里的方法
    private void TestInvok()
    {
         //......其它代码
         frmMain.Test();
    }我也是抄别人的呵呵