1

我有两个表格 F1 和 F2。在 F1 中,我有一个列表视图和一个添加按钮。当我单击添加按钮时,F2 打开,我可以添加一些值。

我在 F2 中有一个按钮接受,当按下该按钮时,将 F2 中的值添加到表中并关闭 F2。

我有一个刷新方法,用于刷新 F1 中的列表视图。我试图在 F2 的接受 button_click 事件中调用此方法。我在 F2.cs 中写了类似的内容

F1 f=new F1();
private void accept_Click(object sender, EventArgs e)
{
    //my adding values code

    this.Close();
    f.refresh();
 }

刷新方法工作正常..只是当我从 F2 调用它时它没有执行它的功能..任何人都好心地建议一种更好的方法来实现我想要的..任何类型的建议都非常感谢..

4

2 回答 2

5

您需要将对 F1 的引用传递到 F2 表单中。

F2 f = new F2(this);
f.Show();

在此之后以 f2 形式创建 f1 的全局对象

 f1 GBobjF1=null;

然后以 f2 形式的以下构造函数初始化该对象 GBobjF1

 public f2(f1  f1Obj)
    {
        InitializeComponent();
        GBobjF1 = f1Obj;

    }

现在可以在 f2 窗体上使用那个全局对象 GBobjF1,使用这个对象你可以访问 f1 窗体的所有公共成员。您可以重新填充 f1 内部的列表视图,例如:

GBobjF1.FillListView();

它将使用新值刷新并重新填充该列表视图

于 2012-09-14T08:05:36.277 回答
2

您需要将对 F1 的引用传递到 F2 表单中。

F1形式

F2 f = new F2();
f.f1ref = this;

F2形式

public F1 f1ref;

private void accept_Click(object sender, EventArgs e)
{
//my adding values code
f1ref.refresh();
this.Close(); 
}
于 2012-09-14T07:43:43.753 回答