簡體   English   中英

在窗體:2的winforms C#中,以窗體:1的形式刷新用戶控件

[英]Refresh user control in form:1 on form:2 closing event in winforms C#

Form:1包含一個用戶控件,在用戶控件網格的單元格單擊事件上,我顯示form:2。 當我更新form:2中的值並關閉它時,form:1中的用戶控件網格應該得到刷新。 我所做的與此鏈接相同,盡管它不會產生任何錯誤,用戶控件網格未綁定!!!

請讓我知道如何實現。

利用ShowDialog()方法的優勢。

如果窗體顯示為模式窗體,則在關閉對話框之前,不會執行ShowDialog方法后面的代碼。 但是,當窗體顯示為無模式時,顯示窗體后立即執行Show方法后面的代碼。

private void CellClicked()
{
   Form2 form2 = new Form2();
   form2.ShowDialog();
   //Execution stops here until you close the form2.

   myForm1Control.Values = form2.GetValues();

}

我已經使用委托實現了此功能,

在用戶控制中聲明委托,

public delegate void Delegate1(datatype param1,datatype param2, datatype param3);//should be similar to the method used to bind user control in form1
public Delegate1 RefreshGrid;

在用戶控件的單元格單擊事件中,在form2.ShowDialog()add之后

RefreshGrid(param1,param2,param3);

在form1的構造函數中,intializecomponent()方法后添加

usercontrolID.RefreshGrid = MethodUsedToBindUserControl;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM