您好form1
和form2
private void form1_Load(object sender, EventArgs e)
{
//codes to display db
}
然后我使用form2.ShowDialog();
打开表单,因为我不想要多个窗口
然后在我的form2中我必须删除一些东西,以便form1
必须更新显示。
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
//codes to delete
form2_Load(sender, e); //so the form2 will reload
}
首先我必须先打开form1
才能打开form2
。如何在form2中更新/刷新form1
?
编辑:
我要在form1
中刷新的唯一内容是dataGridView
答案 0 :(得分:0)
实际上,直接从当前表单更新其他表单并不是一个好主意。当您的用户以当前和活动形式工作时,使用委托和回调设计中介可以更新其他表单。
答案 1 :(得分:-1)
此问题取决于 form2
是否知道如何访问form1
?
如果是这样,您可以调用form1.Refresh()
(或其他一些公共方法)来请求form1更新列表。 (原因是,您必须覆盖Refresh
方法,或创建自己的公共方法。)
如果没有,也许您可以考虑使用Singleton pattern on your form1
。
-
此外,如果form2
总是由form1
创建,您可以考虑像这样打开form2
(必须写在form1
)
Form2 form2 = new Form2();
form2.Open(this);
//-- or
form2.OpenDialog(this);
如果是这样,您可以致电form1
访问form2
中的this.Parent
。