为什么parentForm引用为空?

2023-11-22

我有一个应用程序,其中我在表单上添加了用户控件。 当我检查时this.parentForm在 userControl 构造函数中,它给出了一个空引用

我的用户控制代码就像

public UserControl1()
        {
            InitializeComponent();
            if (this.ParentForm != null)//ParentReference is null
            {
                MessageBox.Show("Hi");//Does Not get Called
            }
        }

创建控件时,它还没有被添加到表单中 - 因此父表单当然将为空。

即使您通常将其写为:

// Where form might be "this"
form.Controls.Add(new UserControl1());

您应该将其视为:

UserControl1 tmp = new UserControl1();
form.Controls.Add(tmp);

现在你的构造函数正在执行first线,但第一次提到form在里面second线...那么控件怎么能看到它呢?

你可能应该处理ParentChanged事件,然后采取适当的行动。 (如果您不使用 Windows 窗体,我深表歉意 - 我确信其他 UI 框架也有类似的框架;下次如果您能说明您在问题中使用的内容,将会很有用。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么parentForm引用为空? 的相关文章

随机推荐

  • 获取相关实体 ASP.NET WebApi OData v4 导致“未找到与请求 URI 匹配的 HTTP 资源”

    我跟着Mike Wasson 的这个 ASP NET 教程 并设法很好地设置了相关实体 但是当我将此逻辑应用于我的项目时 更复杂的实体关系 因为实体关系更多 这是唯一的区别 在 OData 调用中不会成功 我收到带有此有效负载的 404 e
  • 找不到模块 FBSDKCoreKit Cocoapods

    我正在尝试使用 CocoaPods 使用 use frameworks 将 facebook 集成到我的应用程序中 标签 并根据 Facebook 的此处说明 还包括吊舱螺栓 当我尝试使用时import FBSDKCoreKit在我的 ap
  • 代理与自然/业务密钥[关闭]

    Closed 这个问题是基于意见的 目前不接受答案 又来了 老争论依然出现 我们是否最好将业务键作为主键 或者我们宁愿使用对业务键字段具有唯一约束的代理 ID 即 SQL Server 标识 请提供例子或证据来支持你的理论 使用代理键的几个
  • 按连接值对 R 数据帧进行分组

    我没有找到 R 中这个常见分组问题的解决方案 这是我的原始数据集 ID State 1 A 2 A 3 B 4 B 5 B 6 A 7 A 8 A 9 C 10 C 这应该是我分组的结果数据集 State min ID max ID A 1
  • SVN 术语 - 签出、工作副本、属性、存储库

    当我尝试学习如何使用时svn externals 我很难理解这些术语的差异 它们有何不同 工作副本 and checkout 有时构建是有用的工作副本这是由许多不同的结账 source property 在 Subversion 中 您可以
  • 哪个性能更好: test != null 或 null != test [重复]

    这个问题在这里已经有答案了 考虑以下两行代码 if test null and if null test 从性能角度来看 上述两种说法有什么区别吗 我见过很多人使用后者 当被问及时 他们说这是最佳实践 但没有充分的理由 没有不同 第二个原因
  • 导入web3到next js会报错

    我正在使用 next js 和 Material ui 构建一个用于学习的演示 dapp 我已经安装了元掩码 到目前为止我只能设置一个 连接到钱包 按钮 我陷入了必须导入 Web3 构造函数的困境 我的代码如下所示 我的包 json 的屏幕
  • 如何删除文件最后一行的最后一个字符? [复制]

    这个问题在这里已经有答案了 我在一个文件中有这组行 info info info info 我想要这样的文件 没有最后一个 info info info info 我怎样才能在 bash 中做到这一点 任何想法 您可以使用sed sed s
  • 确保控制器在 Unity 中具有无参数公共构造函数

    我在控制器上遇到了这个问题 尝试创建类型为 的控制器时发生错误 WebMvc Controllers HomeController 确保控制器具有无参数公共构造函数 找到了ApiController的解决方案 但是没有找到关于普通Contr
  • $this->render 和 $this->redirect Symfony2 之间的区别

    this gt render 和 this gt redirect 之间有什么区别 有没有一种方法可以像我使用 this gt redirect 那样使用 this gt render 传递参数 return this gt render
  • jQuery:如何确定单击了哪个
  • 标签?
  • 我正在创建一个包含 5 行文本的表单 每个文本都允许用户选择是否希望文本居中 左对齐或右对齐 我有一个未编号的列表 其中列表元素为 x5 li img src images justify left png alt left span Ju
  • AWS - 通过 EBS 实现跨可用区冗余的任何方法

    我正在寻找 EBS 的冗余解决方案 理想情况下 我们会在每个可用区都有一个 EBS 卷 类似于主从配置 当主 EBS 卷发生故障时 所有读 写操作都将定向到辅助卷 该卷用于存储应用程序的用户数据 而不是操作系统或应用程序文件或类似的内容 将
  • 如何使用 Get-ChildItem -exclude 排除多个文件夹?

    我需要为我们的 Pro Engineer CAD 系统生成一个配置文件 我需要我们服务器上特定驱动器的文件夹的递归列表 但是 我需要排除其中包含 ARCHIVE 的任何文件夹 包括各种不同的情况 我写了以下内容 除了不排除文件夹外 它可以工
  • Android Alarm AlarmManager 提供的四种 Alarm 有什么区别以及何时使用什么?

    我想知道之间的区别RTC RTC WAKEUP ELAPSED REALTIME ELAPSED REALTIME WAKEUP 我想编写一个闹钟应用程序 我将在其中设置闹钟并关闭我的应用程序 并期望在设置的时间发出闹钟 会有多个警报 现在
  • 如何在 ASP.Net 应用程序中设置默认时区

    您好 我创建了 ASP NET Web 应用程序 没有考虑时区 我直接使用 DateTime Now 函数 实际上 这会以服务器配置的时区格式返回日期时间 现在我无法更改整个应用程序 那么有什么方法可以将应用程序的时区设置为独立于托管该应用
  • 为什么在这里使用 static_cast 而不是 reinterpret_cast 很重要?

    回复 Raymond Chen 博文 有提问者指出 Raymond 我相信 C 示例是不正确的 因为这个位置 派生类中的基类子对象的属性未指定 根据 ISO C 2003 标准 10 3 第 168 页 并且您假设 基类子对象始终位于开头
  • LDAP 嵌套组成员资格

    是否可以创建一个 LDAP 查询来返回 或检查 嵌套组中的用户 例如UserA是GroupA的成员 GroupA是GroupB的成员 我想要对 GroupB 进行查询以返回 UserA 是成员 仅限 LDAP 服务器是活动目录 是 使用 L
  • 如何强制重新加载NLog配置文件?

    我正在将 NLog 与配置文件一起使用 为了避免在一些长时间的治疗中记录太多的东西 我正在做这样的事情 foreach LoggingRule rule in LogManager Configuration LoggingRules ru
  • 为什么 Typescript 中的 Event.target 不是 Element?

    我只是想用我的KeyboardEvent var tag evt target tagName toLowerCase While Event target属于类型EventTarget 它不继承自Element 所以我必须这样投射 var
  • 为什么parentForm引用为空?

    我有一个应用程序 其中我在表单上添加了用户控件 当我检查时this parentForm在 userControl 构造函数中 它给出了一个空引用 我的用户控制代码就像 public UserControl1 InitializeCompo