![](/img/trans.png)
[英]How can I invalidate or stop processing of the form from inside a submit button click event handler?
[英]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.