2015-10-05 75 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類的某處。