[英]How To Refresh User Control From Another Form In WinForms Using C#?
[英]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.