无法将类型“System.Windows.Forms.Form”的对象转换为类型“Project.Form1”

2023-12-22

我有一个UserControl它使用了我的表单上可用的一些公共属性,位于表单的顶部Paint为此举办的活动UserControl,我参考了Parent控件的类型并将其转换为我的表单的类型。

var _parent = (Form1)Parent;

但是,此代码可以工作,在“设计”视图中,会引发错误,并且我看到的所有内容都代替了UserControl是一个白框,显示本文标题中的错误。堆栈跟踪直接指向这行代码。

现在,我通过用户控件中的属性重新路由此转换来修复此错误

    public Form1 ControlParent
    {
        get
        {
            if (Parent != null)
            {
                return (Form1)Parent;
            }
            return null;
        }
    }

对于破坏设计视图的东西来说,这有点太多了……还有其他想法吗?


根据代码,它看起来像您的孩子Control实例已经可以处理ControlParent being null。因此,最简单的解决方法就是执行以下操作

public Form1 ControlParent
{
    get
    {
        return Parent as Form1;
    }
}

注意:一般来说,依赖于Parent of a Control属于特定类型。它可以防止它被重新托管在其他控件中,并且可能会破坏经常捏造类型以提供良好设计体验的设计人员。如果你必须依赖像这样的值Parent作为特定类型,请确保有一个后备计划,该计划不会在面对不同类型时崩溃。

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

无法将类型“System.Windows.Forms.Form”的对象转换为类型“Project.Form1” 的相关文章

  • 如何让 Swagger 插件在自托管服务堆栈中工作

    我已经用 github 上提供的示例重新提出了这个问题 并为任何想要自己运行代码的人提供了一个下拉框下载链接 Swagger 无法在自托管 ServiceStack 服务上工作 https stackoverflow com questio
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 为什么极端下派生类(多重虚拟继承)的大小包括超类成员大小的两倍?

    include
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 使用 C# 读取 Soap 消息

  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum
  • 如何将 PostgreSql 与 EntityFramework 6.0.2 集成? [复制]

    这个问题在这里已经有答案了 我收到以下错误 实体框架提供程序类型的 实例 成员 Npgsql NpgsqlServices Npgsql 版本 2 0 14 2 文化 中性 PublicKeyToken 5d8b90d52f46fda7 没

随机推荐

  • 关于布局别名的 Android 文档不正确?

    我想弄清楚如何使用最少的样板代码重用或 别名 布局 看来关于布局别名的 Android 文档 http developer android com training multiscreen screensizes html TaskUseA
  • 带有 React useEffect 钩子的 componentWillUnmount

    怎样才能useEffect钩子 或任何其他与此相关的钩子 用于复制componentWillUnmount 在传统的类组件中我会做这样的事情 class Effect extends React PureComponent componen
  • StartPosition 设置为 CenterPosition 但我的表单未居中

    我正在使用 Visual Studio 2012 我的表单打开时不会以屏幕为中心 我有表格StartPosition set to CenterScreen 但它总是从我的左显示器的左上角开始 我有 2 个显示器 有任何想法吗 谢谢 试试这
  • 删除长度为 1 的 Julia 数组维度

    假设我有一个大小为 1024x1024x1x1x100 的 5D 数组 如何制作一个 1024x1024x100 的新数组 如果您提前知道要保留哪些维度 则以下操作有效 arr arr 1 1 But 我提前不知道哪些尺寸是多少我只想保留给
  • Databricks 笔记本挂着 pytorch

    我们遇到 Databricks 笔记本问题 我们的一个笔记本单元似乎挂起 而驱动程序日志确实显示该笔记本单元已被执行 有谁知道为什么我们的笔记本单元一直挂起并且无法完成 请参阅下面的详细信息 情况 我们正在训练 ML 模型pytorch在
  • 如何使用 Photoshop JavaScript 将文本写入文本文件?

    我看了一下Photoshop CS5 脚本编写指南和 Photoshop CS5 JavaScript 参考 http www adobe com devnet photoshop scripting html 但我找不到将文本写入纯文本文
  • 如何使用 TensorFlow 实现 k-means?

    介绍教程使用内置的梯度下降优化器 非常有意义 然而 k 均值不仅仅是我可以插入梯度下降中的东西 看起来我必须编写自己的优化器 但考虑到 TensorFlow 原语 我不太确定如何做到这一点 我应该采取什么方法 注 您现在可以获得这段代码的更
  • 如何用 C++ 确定 Linux 系统 RAM 的大小?

    我刚刚编写了以下 C 函数来以编程方式确定系统安装了多少 RAM 它有效 但在我看来应该有一种更简单的方法来做到这一点 我错过了什么吗 getRAM FILE stream popen head n1 proc meminfo r std
  • 何时设置 JVM 字节码访问修饰符标志 0x1000(十六进制)“合成”?

    对于某些 Java 字节码解析器项目 我阅读了 JVM 规范 发现 Java 虚拟机类文件格式访问修饰符字段的位掩码值是 ACC PUBLIC 0x0001 ACC FINAL 0x0010 ACC SUPER 0x0020 old inv
  • 错误 无效的挂钩调用。钩子只能在函数组件体内调用

    我正在做一个 React Electron 应用程序 但收到此错误 错误 无效的挂钩调用 钩子只能在函数组件的主体内部调用 发生这种情况可能是由于以下原因之一 1 您的React和渲染器版本可能不匹配 例如React DOM 2 你可能违反
  • 获取控件组件内的控件属性

    我创建了一个自定义输入组件 但我想处理组件内部的错误 因此 为了进行验证 我需要从控制对象中获取错误 是否可以 我的组件完全一样here http almerosteyn com 2016 04 linkup custom control
  • 我在输出末尾得到了 { } 。造成这种情况的原因是什么以及如何消除它?

    我正在尝试一个简单的图形用户界面 它可以在同一窗口中使用 秘密号码 密钥标识符来加密和解密消息 以获取乐趣 到目前为止 它有效 我对此非常满意 我唯一的问题是我在 crypt 函数中得到了我想要的输出返回值 后跟 使用普通的 print 函
  • 如何让 Require.js 获取不以“.js”结尾的脚本? [复制]

    这个问题在这里已经有答案了 我正在开发一个应用程序 它使用某个网站来使付款更容易 并且它处理付款的方式需要从此网址导入一些javascripthttps bridge paymill com 包含脚本 事实是 我正在使用 require j
  • 数组连接与字符串连接

    哪种方法更快 数组连接 var str to split a b c d e f g h i j k l m n o p q r s t u v w x y z var myarray str to split split var outp
  • 带有使用 NIB 的委托的 UIView 子类

    我正在尝试使用笔尖对 UIView 进行子类化 使用以下代码 void awakeFromNib super awakeFromNib NSArray v NSBundle mainBundle loadNibNamed Qus Scale
  • 模板文字适用于除 IE 之外的其他浏览器

    我正在研究 javascript 并使用 模板文字 它适用于 Chrome 和 Firefox 但不适用于 Internet Explorer IE var a 10 console log a 模板文字是ES6 IE支持very fewE
  • 如何从服务器端清除浏览器缓存?

    我必须创建一个处理用户敏感信息的网络应用程序 我需要在用户注销后立即清除浏览器的缓存 因为缓存的数据容易受到攻击 应强制客户端浏览器清除服务器端的缓存 此外 所有缓存策略都必须从服务器端公开给客户端 这个问题有什么解决办法吗 将响应设置为立
  • std::thread 调用类的方法[重复]

    这个问题在这里已经有答案了 可能的重复 使用成员函数启动线程 https stackoverflow com questions 10673585 start thread with member function 我有一个小班 class
  • 从 spring 异常处理程序读取 httprequest 内容

    我正在使用 Spring 的 ExceptionHandler注释来捕获我的控制器中的异常 有些请求将 POST 数据作为写入请求正文的纯 XML 字符串 我想读取该数据以记录异常 问题是 当我在异常处理程序中请求输入流并尝试从中读取时 流
  • 无法将类型“System.Windows.Forms.Form”的对象转换为类型“Project.Form1”

    我有一个UserControl它使用了我的表单上可用的一些公共属性 位于表单的顶部Paint为此举办的活动UserControl 我参考了Parent控件的类型并将其转换为我的表单的类型 var parent Form1 Parent 但是