程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 子窗體刷新父窗體使用接口模式

子窗體刷新父窗體使用接口模式

編輯:C#入門知識

在網絡中搜索了下,發現使用接口來刷新父窗體,自己認為比較方便。也比較好容易理解。所以我也特此寫一片博客進行記錄,對自己進行深入的學習和方便再回頭來復習。很多東西都是自己以前做過的,但是很長一段時間之後不代表就能很順心的能寫出來,所以我只能用博客文章記錄我的點滴,下次翻閱的時候至少我會想起來在某個項目中使用到了這個情景。

首先定義一個接口:

using System;
using System.Collections.Generic;
using System.Text;

namespace WinFormSendValue
{
public interface IForm
{
void RefreshForm();
}
}

當然為了能實現刷新,你首先得必須要在刷新的窗體中繼承具有刷新功能的接口。。

   public partial class KuCunYiDongDetailsAddFrm : Form, IForm
    {

   ...................代碼省略

   }

其次你的必須在此窗體中實現接口的方法

 

        public void RefreshForm()
{
this.Refresh();
LoadBodyData(sendOrderNumber);//刷新單身
LoadDetailsDate(sendOrderNumber);//明細刷新,即刷新dataGRIDVIEW
}

 

 

 

然後在你需要打開子窗體的事件中調用調用此方法。特別注意的是這裡必須把需要打開的子窗體的Owner屬性設置為本窗體(父)

       private void btnBodyAddDetails_Click(object sender, EventArgs e)
{
singleAdd = new SingleDetailsAddingFrm();
singleAdd.Owner = this;//設置OWNER屬性
RefreshForm();//刷新父窗體
singleAdd.ShowDialog();
new SingleDetailsAddingFrm().ShowDialog();//轉到庫存異動單身明細添加窗體
}

最關鍵也是最後的一步就是必須在窗體中調用代碼如下,不解釋了。

   (this.Owner as IForm).RefreshForm();

這句可以放在你需要的任何地方。比如關閉事件中。

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved