Refresh DataGridView in Windows form
我有两个表单,分别是表单 A 和表单 B。当我单击表单 B 上的保存按钮时,我希望表单 A 的 DataGridView 刷新。
我应该使用哪种方法?
使用事件是执行此操作的一种方式。下面是另一种更面向对象的方式。
在FormA中添加公共刷新方法。
1 2 3 4 | public void RefreshDataGrid() { //Do refresh } |
在构造 FormB 时将 FormA 的实例传递给 FormB。您必须创建 FormB 构造函数来获取 FormA 实例。
1 2 3 4 5 | private FormA myFormA; public FormB(FormA formA) { myFormA = formA; } |
现在您可以从 FormB 调用 FormA.ResfreshGrid() 方法了。
1 | myFormA.RefreshGrid(); |
在Form A中实现代码如下:
1 2 3 4 5 | private delegate void DEmpty(); public void RefreshDataGrid() { this.Invoke(new DEmpty(datagrid.Refresh)); } |
然后在 B 上单击按钮时调用它
创建一个绑定gridview的方法,在表单A的表单加载时调用该方法,如果表单已经打开,则必须使用它的实例(表单A),并调用与表单A相同的绑定方法用于 gridview 绑定。