2015-10-05 74 views
-1

我想要; 当form2关闭时,form1方法被调用c#实例方法

Form 1;

public partial class Form1 : Form 
    { 

      public Form1() 
      { 
       InitializeComponent(); 
    } 
    public void MyMethod() 
      { 
       MessageBox.Show("hi"); 
    DataTable dt = new DataTable(); 
        da.Fill(dt); 
        dataGridView1.DataSource = dt; 
    } 

形式2

public partial class Form2 : Form 
     { 
      public Form2() 
      { 
       InitializeComponent(); 
      } 
    private Form1 Form1Instance { get; set; } 

    private void Form2_FormClosed(object sender, FormClosedEventArgs e) 
      { 
        Form1Instance.MyMethod(); 
      } 

错误:

对象引用不设置为一个对象的一个​​实例。

我在哪里犯错

感谢

+0

你并没有在任何地方创建Form1。 –

回答

1

当您创建的Form2一个实例显示,您需要将Form1Instance属性分配给的Form1实际实例。类似这样的:

Form2 form2 = new Form2(); 
form2.Form1Instance = this; 
form2.Show() 

这应该发生在Form1类的某处。