繁体   English   中英

c#以某种形式调用类函数以从

[英]c# call a class function in a form to change to another from

我有问题,需要您的帮助。 我在我的C#项目中创建了2个Windows窗体和一个类,并且我有两个dataGridView。 一种形式1,另一种形式2具有相同的名称,但内容不同。 我创建一个类,并在该类中调用Sqlfunctions,然后创建一个SqlConnection和2方法,分别调用Refresh1和Refresh2。 在这两行中,我可以使用每种方法。 在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的类中

我用表格1中的按钮打开表格2

如下所示,将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才能起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM