0

* でマークされた行をどのようForm2に参照できForm1ますか? つまりForm1、インスタンス化された場合、Form1 という名前でのみ参照できます。ただし、* の行でForm1は、オブジェクトではなく型として使用されます。Form1ただし、 m_parentという形式で参照として使用できます Form2 (誰かが私が尋ねようとしていたことを理解してくれることを願っています)。

public partial class Form2 : Form
    {
*        private Form1 m_parent;

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

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
     }
4

2 に答える 2

2

あなたが持っているのは、Form1 インスタンスへの参照を取る Form2 のコンストラクタです。Form1 には、次のようなコードがある場合があります。

var form = new Form2(this);
form.Show();

現在のフォームへの参照を使用して Form2 を作成し、それを表示します。Form1 のパブリック メンバーにアクセスできるようになりました。

于 2013-04-17T15:04:05.723 に答える