我有问题,我需要你的帮助。我在我的c#项目中创建了2个窗体和一个类,我有两个dataGridView。表单1和表单2中的一个具有相同的名称但内容不同。我创建了一个类,在该类中调用了Sqlfunctions,我创建了一个名为Refresh1和Refresh2的SqlConnection和2方法。我可以通过这两行来使用他们所尊重的每一种方法。 在form1
Sqlfunctions.Refresh(this.dataGridView1);
表格2中的
Sqlfunctions.Refresh2(this.dataGridView1);
但是我需要在表单2中调用Sqlfunctions.Refresh(this.dataGridView1)来更新表单1中的dataGridView1。如何在一个表单中调用类方法来更新另一个表单。或者当表单2关闭时,如何在表单1中调用Sqlfunctions.Refresh(this.dataGridView1)。 坦克你先进
这里有更多信息
我使用表单1中的按钮打开表单2,然后更新表单2中的dateGridView。当发生这种情况时,我也想更新表单1中的dateGridView。因为表格2和1中的dategridview使用相同的 数据库。我可以通过调用这个类函数来更新表单1中的datagridview。 Sqlfunctions.Refresh(this.dataGridView1);但我不知道如何在表单2中调用此类函数来更改表单1中的datagridview。甚至如何在表单2关闭时如何在表单1中运行此方法。两种方式使表单1中的datagridview更新。请帮我。我卡住了。
我知道如何在表单2中调用表单1中的方法。但问题是我的方法不在fomr 1中。它在一个名为Sqlfunctions的类中
答案 0 :(得分:2)
我用表单1中的按钮打开表单2
打开Form1时,将Form1设置为Form2的所有者,如下所示:
Form2 f2 = new Form2();
f2.Show(this);
现在在Form2中,您可以将Owner()属性转换为Form1类型并使用它:
// ... from within Form2 ...
Form1 f1 = (Form1)this.Owner;
Sqlfunctions.Refresh(f1.dataGridView1);
但是您需要在Form1中选择dataGridView1并将其Modifiers()属性更改为Public才能使其生效。