2011-12-18 19 views
0

私のフォームに問題があります。私は親子フォームを持っています。私はボタンを子供のフォームで持っています。ボタンを使って親ウィンドウを閉じ、新しいインスタンス親フォームを作成し、新しい親フォームを表示したいと思います。 誰でも私を助けることができますか? は、私はそのm_parent.Close()の後に 子フォームからクローズ親フォーム

private Form1 m_parent; 

     public Form2(Form1 frm1) 
     { 
      InitializeComponent(); 
      m_parent = frm1; 
     } 

と を試してみましたが、唯一私が得たことは、両方のフォームが閉じられたであり、これはそれです。 m_parentの後に私は新しいインスタンスを作成するが、私のアプリケーションは閉じられた。

+0

Q:これまでに何を試しましたか? Q:親ウィンドウの親は誰ですか? 「新しいフォームを開く」というメッセージを受け取ることができる「メインフォーム」がありますか?または、フォームを閉じたときにプログラムが実際に終了しますか? – paulsm4

+0

私はこれまでに試しました。 Owner.Closeとthis.ParentFormが返されますが、結果が返されません – edi233

+0

this.parentformを使用しないでください親refを使用して閉じることができると思います –

答えて

3

calling parent functions from child form

 Main frm = new Main(); 
     frm.Show(); 
     frm.Activate(); 
     this.Hide(); 

これは、現在のフォームを非表示にし、メインフォームを示しています。

+0

ありがとうございます。私は私の問題を解決する:) – edi233

+0

それは歓声:) .. –

+0

しかし、それはあなたがもともと尋ねたものではない: "ボタンを使用して親ウィンドウを閉じ、新しいインスタンスの親フォームを作成したい" – paulsm4

0

親からrefを取得し、親のcloseメソッドを使用できます。

関連する問題