【发布时间】:2021-01-12 15:50:09
【问题描述】:
我面临的一个问题是 - 我有一个自定义 UserControl,我想将它作为附加选项卡添加到我的 TabControl 中,所以我只是在工具箱中找到了我的 UserControl 并将其拉到我的 TabControl 中,然后我立即得到一个错误弹出窗口说
未能加载工具箱项。它将从工具箱中移除
经过研究,我找到了一些这样的答案
https://stackoverflow.com/a/44628024/5709159
还有这个
他们在谈论 32 位和 64 位处理之间的不匹配,但我真的不知道如何解决它?就像我需要点击的地方或者我需要重新编译以使其工作?如果有人可以将这些链接上的内容翻译成更清晰的语言,我将不胜感激。
编辑
我正在尝试添加一个全新的 UserControl,这意味着我创建了一个新的 UserControl,并且我打开工具箱并将其拉入在选项卡控件中创建的选项卡中,结果我收到上面的错误。因此,没有构造函数或早期访问父问题。
关于 CPU 我不使用AnyCPU 我使用x64 这可能是个问题吗?而且为了检查,我无法切换到AnyCPU,因为我的项目与AnyCPU不兼容。
【问题讨论】:
-
在你跳到那个之前。仔细检查您的用户控件是否存在可能的错误。就像在尚未创建句柄时尝试在构造函数中做某事一样。就像在尚未创建相关对象(空值)时尝试访问对象(例如在
OnPaint中)。就像尝试在其null时早 访问父控件。像......等等。 -
同上。另外,您需要指定此 UserControl 是另一个解决方案的一部分还是使用它的同一解决方案的一部分,以及用于构建它的配置文件是什么。如果你设置
AnyCPU,你会没事的。如果位数不同,Visual Studio 应该警告您(并且,IIRC,这也阻止了解决方案的构建)。 -
@dr.null 编辑了我的问题,看起来应该不是问题
-
@Jimi 编辑了我的问题,看起来我使用的架构中可能存在问题,所以这是否意味着如果我使用 x64 就无法使用工具箱?
-
我认为我们需要再进行一次编辑以帮助我们理解并尝试重现该问题。哪个框架?你的解决方案的结构(见第二条评论)?也许来自该控件的一些代码?您是否调用了不尊重
IntPtr.Size的任何win32方法? ....