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

在Visual Studio 2010的Designer中,我可以将userControl1从工具栏拖放到Windows窗体上,我将其称为testForm1。我可以连接userControl1,它可以正常工作。

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

从Visual Studio 2010的Designer中,如果我从工具栏拖动userControl1并将其拖放到userControl2,则Visual Studio 2010将崩溃,除了重新启动外,没有其他消息。

同时,在事件查看器中记录了事件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 Designer的userControl1属性窗口中选择userControl2,Visual Studio将崩溃。
  • 3)如果有帮助,我很乐意发布代码。您希望使用userControl1还是userControl2的代码?尽管两个控件都很小,但是仍然有很多代码(特别是因为该错误很可能在Designer中发生,所以我也必须发布它。)
  • 最佳答案

    看来这有助于解决问题,因此我将其发布为答案。

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

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

    10-11 06:26