c# - 访问父表单

标签 c# .net winforms oop

我知道这个标题可能看起来很傻,想不出更好的,抱歉。

我有 2 个窗体 (C#),主窗体包含第二个窗体的实例。 有没有办法……从 Form2 的实例访问 Form1 的运行实例(入口点)和他的属性?

每个人都告诉我要学习 OOP。 很久很久以前我做过,但我仍然不明白。

最佳答案

当主窗体实例化第二个窗体时,它可以将对自身的引用传递给第二个窗体的构造函数。

因此,第二种形式将可以访问第一种形式的公共(public)成员。

编辑

在 Form1 中,您在某处实例化 Form2 并将其传递给 ctor 中对 Form1 的引用:

Form2 f2 = new Form2(this);

在Form2的类定义中添加一个字段:

private Form1 m_form = null;

在第二种形式的构造函数中设置该字段:

public Form2(Form1 f)
{
   m_form = f;
}

然后,在您的 Form2 中的任何地方,您都可以通过 m_form 访问 Form1

关于c# - 访问父表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5049576/

相关文章:

c# - 'System.Windows.Controls.Image' 不包含 'FromFile' 的定义

c# - 使用 PSS 填充的 .net RSA 签名数据错误

.net - 使用 "default proxy"时,用户名/密码从何而来?

.net - 异常处理

c# - 在启动时加载所有本地化资源

c# - 为什么隐式转换为 int 会转换并截断小数?

c# - 单触摸应用程序中的内存问题

c# - 使用 Rx 和 SelectMany 限制并发请求

c# - 在两个集合中搜索

c# - 取消 ListBox SelectedIndexChange 事件