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