在winform中,关闭窗口时刷新父窗口(原来打开此窗口的窗口)

Posted #C和C#

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在winform中,关闭窗口时刷新父窗口(原来打开此窗口的窗口)相关的知识,希望对你有一定的参考价值。

如何在关闭窗口时刷新父窗口(原来打开此窗口的窗口,不一定是mdi窗口), 这种事情在b/s里很简单,但在winform里却不那么好办。因为你不能关闭第一个窗口时再打开另一个窗口,如果这样的话新窗口就一起被关闭了。但是正因为这样,我们可以让刷新的动作在关闭子窗口时进行,当然所有的动作是在父窗口中进行的。晕,不知道说明白了没有。
还是看一下例子吧
public partial class Customer : Form
    {
        public Customer()
        {
            InitializeComponent();
        }

        private void customerBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            this.Validate();
            this.customerBindingSource.EndEdit();
            this.customerTableAdapter.Update(this.oadepotDataSet.Customer);

        }

        private void Customer_Load(object sender, EventArgs e)
        {
            // TODO: 这行代码将数据加载到表“oadepotDataSet.Customer”中。您可以根据需要移动或移除它。
            this.customerTableAdapter.Fill(this.oadepotDataSet.Customer);  //请注意这里

        }

        private void SearchBtn_Click(object sender, EventArgs e)
        {
            DataTable dt=customerTableAdapter.GetDataByKey("%"+QueryTextBox.ToString()+"%");
            customerDataGridView.DataSource = dt;
        }

        private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
        {
            //打开新窗口
            Form addForm = new AddCustomer();
            addForm.Owner = this;
            addForm.ShowDialog();
            this.customerTableAdapter.Fill(this.oadepotDataSet.Customer); //关键就在这里
                        
        }

请注意上面的两行红字,问题就在这里。不关子窗口什么事,所有的动作都在父窗口中完成。

以上是关于在winform中,关闭窗口时刷新父窗口(原来打开此窗口的窗口)的主要内容,如果未能解决你的问题,请参考以下文章

在父窗体中用showModalDialog方式打开一个页面,并在页面中删除一条记录,成功后刷新本页面,再关闭本页面

Winform 多个窗口编辑同一条数据同步的实现

在wpf或winform关闭子窗口或对子窗口进行某个操作后刷新父窗口

打开弹出窗口并在关闭弹出窗口时刷新父页面

怎么实现父窗口打开子窗口,子窗口关闭后自动刷新父窗口?

子窗口关闭,父窗口如何刷新