2014-12-08 74 views
0

我有一个问题,我需要你的帮助。我创建了2个窗体窗体和一个类,在我的C#项目中,我有两个dataGridView。一个在表格1和一个表格2中,名称相同但内容不同。我创建了一个类,并在该类中调用Sqlfunctions,我创建了一个名为Refresh1和Refresh2的SqlConnection和2方法。我可以使用这两种方法中的每一种方法。 在Form1c#调用一个窗体中的类函数来改变另一个从

Sqlfunctions.Refresh(this.dataGridView1); 

在形式2

Sqlfunctions.Refresh2(this.dataGridView1); 

但我需要调用Sqlfunctions.Refresh(this.dataGridView1)在形式2更新dataGridView1在形式1.如何调用类方法以一种形式更新另一种形式。或者如何在form 2关闭时调用Sqlfunctions.Refresh(this.dataGridView1)。这里 坦克你在先进

更多的信息

我在形式上1打开窗体2按钮和我在形式上2.更新dateGridView当这种情况发生,我想在形式上1更新dateGridView了。因为表格2和1中的dategridview使用相同的 数据库。我可以通过调用这个类的函数来更新表单1中的datagridview。 Sqlfunctions.Refresh(this.dataGridView1);但我不知道如何调用窗体2中的这个类函数来更改datagridview在窗体1中,甚至我怎么可以在窗体2中运行此方法时,窗体2是closed.both方式使窗体1中的datagridview更新。请帮帮我。我卡住了。

我知道如何从表格1调用一个方法,当我在表格2,但问题是,在FOMR 1.它我的方法心不是一类叫做Sqlfunctions

+0

如果我理解正确,你想知道,1)如何在Form2中打开Form1,如果它在Form2_Closing事件中没有打开? 2)如何将this.dataGridView1,即Form1.dataGridView1作为参数传递给Form2中的Refresh方法。 – Anil 2014-12-08 06:05:06

+1

请添加更多代码来指定您的问题。 – 2014-12-08 06:10:47

+0

我更新了我的帖子。请再读一遍。我只需要调用2中的类函数来更新表单1中的datagridview。我可以像这样在窗体1中调用该类(Sqlfunctions.Refresh(this.dataGridView1);)并更新datagridview。但我不知道如何在Form 2中调用它来更新form1中的dateridview。导致表单2中的datagridview在表单1中的datagridview中更新时也变成了更新 – Mike 2014-12-08 06:36:24

回答

2

我打开表格2在形式的按钮1

将Form 1的窗体2的业主,当你打开它,像这样:

Form2 f2 = new Form2(); 
f2.Show(this); 

现在过的窗体2,你可以投的所有者()属性为t他Form1的类型和使用它:

// ... from within Form2 ... 
Form1 f1 = (Form1)this.Owner; 
Sqlfunctions.Refresh(f1.dataGridView1); 

你需要在Form1中选择dataGridView1并改变其修饰符()属性来公开这个工作。

+0

它的工作。谢谢你。我的问题已经解决。感谢您的努力和时间。 – Mike 2014-12-09 09:44:43

+0

很高兴帮助。如果问题解决了,请点击此答案旁边的复选标记,以便其他人知道问题已关闭。 – 2014-12-09 14:33:09