0

带 * 的行如何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();
        }
     }
4

2 回答 2

2

你有一个 Form2 的构造函数,它引用一个 Form1 实例。在 Form1 上可能有如下代码:

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

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

于 2013-04-17T15:04:05.723 回答
0

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

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

于 2013-04-17T15:06:53.443 回答