实现原理:定义个委托,父窗体在实例化子窗体的时候,通过委托把方法传给子窗体。

                    子窗体在需要的时候调用这个委托即可


实现效果:

子窗体

    //子窗体
    public partial class EditInfoForm : Form
    {
        public EditInfoForm()
        {
            InitializeComponent();
        }
        // 生明委托,与父窗体方法类型相同
        public delegate void LoadInfoDelegate(bool flag);
        // 用来接收父窗体方法的委托变量
        public LoadInfoDelegate loadInfoDelegate;
    }
        //子窗体调用
        if (bllDemo.Update(bbxx))
                {
                    MessageBox.Show("修改信息成功");
                    //调用
                    loadInfoDelegate(true);
                }
                else
                {
                    MessageBox.Show("修改信息失败");
                }

父窗体

            EditInfoForm eiForm = new EditInfoForm();
            ///父窗体的方法传给子窗体
            eiForm.loadInfoDelegate = LoadInfo;

            eiForm.ShowDialog();

父窗体方法

public void LoadInfo(bool flag)
        {
            Demo.BLL.IDemo bllDemo = new Demo.BLL.Impl.DemoBLL();
            if (flag)
            {
                this.lv_bbxx.Items.Clear();
            }

            List<Demobbxx> bbxxList = bllDemo.SelectList();
            foreach (Demobbxx bbxx in bbxxList)
            {
                ListViewItem lv = new ListViewItem();
                lv.Text = bbxx.Id.ToString();
                lv.SubItems.Add(bbxx.Nsrmc);
                lv.SubItems.Add(bbxx.Nsrsbh);
                lv.SubItems.Add(bbxx.Zcdz);
                lv.SubItems.Add(bbxx.Jydz);
                lv.SubItems.Add(bbxx.Jyfw);
                this.lv_bbxx.Items.Add(lv);
            }
        }