要求在表格参考上解释代码

时间:2013-04-17 15:00:52

标签: c#

如何将Form2中带*标记的行标记回Form1? 我的意思是当Form1被实例化时,它只能被引用 名称Form1。但在带*的行中,Form1用作类型 不是一个对象。但是,您可以使用m_parent作为参考 名为Form1的表单中的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();
        }
     }

2 个答案:

答案 0 :(得分:2)

你有什么Form2的构造函数,它接受Form1实例的引用。在Form1上可能存在类似于以下内容的代码:

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

正在发生的事情是您创建Form2并引用当前表单并显示它。它现在可以访问Form1的公共成员

答案 1 :(得分:0)

Form1和Form2都是可以实例化的普通类。

在Form2类中有一个构造函数,它将Form1对象的一个​​实例作为参数。在构造函数体中,参数(对Form1对象的引用)然后存储在m_parent变量中。