问题描述:主窗体中有一个combobox控件(用于绑定分类),已经绑定,代码如下:public void GetTypeName()
{
   this.cboType.DataSource = clientBLL.GetTypeName().Tables[0].DefaultView;
   this.cboType.DisplayMember = "TypeName";
   this.cboType.ValueMember = "Id";
}
窗体中有个按钮,为添加分类的按钮.打开添加分类窗体,添加所需分类之后Hide()当前窗体.
请问如何在父窗体中刷新combobox控件,使其显示刚才已添加的新分类?现在的程序必须关闭主窗体之后重新打开,才能看到添加后的分类!期盼高手前来解答!

解决方案 »

  1.   

    添加后插进数据库了吧?
    窗体交互完后 主窗体重新绑定下combobox。
    子窗体.Hide();
    GetTypeName();
      

  2.   


    子窗体中调用不了GetTypeName()的方法啊?实例化主窗体之后再调用,压根就运行不了,编译也没有错误~~
      

  3.   

    其实很简单啊。
    比如在主窗体中有一段这样的代码public void LoadAddTypeName()
    {
       if(DialogReult.OK==AddTypeName.ShowDialog()) //调出要添加分类的窗体
       {
         GetTypeName();  //点击新弹出窗体的确定后,主窗体重新绑定。
       }
    }public void GetTypeName()
    {
       this.cboType.DataSource = clientBLL.GetTypeName().Tables[0].DefaultView;
       this.cboType.DisplayMember = "TypeName";
       this.cboType.ValueMember = "Id";
    }
      

  4.   

    直接 在父窗体里定个函数算了  子窗体hide()之后就执行嘛  那样就达到刷新的效果了
      

  5.   

    其实楼上的已经是正解了!
    我这里再给你说个你容易理解的。
    让你添加分类的子窗体一模式的方式打开:子窗体.ShowDialog(); //模式化子窗体
    GetTypeName(); //关闭子窗体后执行ComboBox更新