c# - 每当我将 UserControl 添加到窗体时,我的 UserControl 都会使 Visual Studio 崩溃

标签 c# winforms visual-studio-2010 user-controls

我写了一个小System.Windows.Forms.UserControl ,将其命名为 userControl1,它似乎按照我想要的方式工作。

在 Visual Studio 2010 的设计器中,我可以将 userControl1 从工具栏拖放到一个 Windows 窗体上,我将称之为 testForm1。我可以连接 userControl1,它会正常工作。

但是,userControl1 的目的是能够在另一个UserControl 中使用它,我们称它为 userControl2

在 Visual Studio 2010 的设计器中,如果我将 userControl1 从工具栏拖放到 userControl2 上,Visual Studio 2010 将崩溃,除了正在重新启动之外没有任何消息.

screenshot

同时,在事件查看器中记录了事件 ID 为 1000 的应用程序错误:

Faulting application name: devenv.exe, version: 10.0.40219.1, time stamp: 0x4d5f2a73
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0xc00000fd
Fault offset: 0x0965f816
Faulting process id: 0x1580
Faulting application start time: 0x01cd90f84338e443
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
Faulting module path: unknown
Report Id: 49ddcedf-fcf8-11e1-8016-00248103a942

我该如何着手尝试调试此错误?我应该查看 userControl1 还是 userControl2 中的内容?

一些注意事项:

  • 1) 我还可以将 userControl2 从工具栏拖到 testForm1 上,它在 VS2010 Designer 和我运行测试应用。

  • 2) 我已成功进入 userControl2 的设计器,我在其中声明并设置了 userControl1 的所有值,但 userControl1 在运行时不会显示在 testForm1 上。如果我在 VS2010 设计器的 userControl2 属性窗口中选择 userControl1,Visual Studio 将崩溃。

  • 3) 如果有帮助,我很乐意发布代码。您更喜欢 userControl1 还是 userControl2 的代码?虽然这两个控件都很小,但仍然有很多代码(特别是因为这个错误很可能发生在设计器中,所以我也必须发布它。

最佳答案

这似乎有助于解决问题,所以我将其作为答案发布。

为了在 Visual Studio 设计器中使用时调试您的控件,请运行两个 Visual Studio 实例并在两个实例中打开您的项目。然后,在其中一个实例中使用 Attach to process... 选项并附加到第二个实例以对其进行调试(devenv.exe 进程).这样,您应该能够看到异常是什么。

关于c# - 每当我将 UserControl 添加到窗体时,我的 UserControl 都会使 Visual Studio 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12393333/

相关文章:

c# - NServiceBus 处理程序单元测试的依赖注入(inject)

c# - 读取 XML 文件将其解析为类列表

c# - 在文本框中选择特定行?

c# - Windows 窗体 C# 中的打印面板

c++ - 克隆分配器和 boost::ptr_container 中的多态性

c# - 仅在未附加调试器的情况下运行 C# 应用程序时出现访问冲突异常

database - (重新)命名数据库单元测试中的测试条件

c# - SimpleInjector 和 Microsoft Webhook ASP.Net Webhooks

c# - 更快的深度克隆

.net - 如何判断用户是否使用笔记本电脑