要从按钮中刷新表单中的列表视图,请单击另一个表单

时间:2012-09-14 07:36:57

标签: c# .net

我有两个表格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调用它时它没有执行它的功能。任何人都建议一个更好的方法来实现我想要的...任何一种建议都高度赞赏..

2 个答案:

答案 0 :(得分:5)

您需要将对F1的引用传递给F2格式。

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

之后在forrm f2中创建f1的全局对象

 f1 GBobjF1=null;

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

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

    }

现在可以在f2表单上使用Global对象GBobjF1,使用此对象可以访问f1表单的所有公共成员。  您可以重新填充f1内的列表视图,如:

GBobjF1.FillListView();

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

答案 1 :(得分: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(); 
}