繁体   English   中英

从其他表单上的按钮单击事件处理程序刷新控件或重新加载表单

[英]Refresh the control or reload form from button click event handler on other form

我在Liste_Form中有一个GridView在Close_Form中有一个按钮。

当我单击Close_Form上的按钮时,如何在Liste_Form中刷新Gridview

或重新加载Liste_Form。

您有几种方法可以完成此操作。 我可能建议的一种方法是将委托传递给构造函数中的第二种形式:

Form2 myForm2 = new Form2(RefreshGrid); // assign to a Form2 local variable

...在Form1(网格所有者)中的RefreshGrid定义了RefreshGrid方法:

void RefreshGrid(){
   // perform grid refresh
}

...以便在myForm2中单击按钮时可以执行操作:

void OnButtonClicked(object sender, EventArgs e){
   refreshAction();
}

在Close_Form上定义事件(当然,考虑使用更好的事件名称):

public event EventHandler SomethingHappened; 

在按钮单击事件处理程序中引发此事件:

private void Button_Click(object sender, EventArgs e)
{
    if (SomethingHappened != null)
        SomethingHappened(this, EventArgs.Empty);
}

在Liste_Form上订阅此事件:

Close_Form closeForm = new Close_Form();
closeForm.SomethingHappened += Close_Form_SomethingHappened;

在此事件处理程序中刷新列表:

private void Close_Form_SomethingHappened(object sender, EventArgs e)
{
    // refresh GridView
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM