1. 程式人生 > >在winform中,關閉窗口時刷新父窗口(原來打開此窗口的窗口)

在winform中,關閉窗口時刷新父窗口(原來打開此窗口的窗口)

rgs art com dia navi sender oid tab adapt

如何在關閉窗口時刷新父窗口(原來打開此窗口的窗口,不一定是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中,關閉窗口時刷新父窗口(原來打開此窗口的窗口)