繁体   English   中英

每当我将它添加到表单时,我的UserControl都会使Visual Studio崩溃

[英]My UserControl Crashes Visual Studio Whenever I Add It To A Form

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

在Visual Studio 2010的Designer中,我可以从工具栏中拖动userControl1并将其放在我将调用testForm1的Windows窗体上。 我可以连接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

我怎样才能尝试调试此错误? 我应该在userControl1userControl2查看一些内容吗?

一些注意事项:

  • 1)我也可以将userControl2从工具栏拖到testForm1 ,它在VS2010 Designer和我运行测试应用程序时都可以正常工作(即显示)。

  • 2)我已成功进入userControl2的Designer,我在其中声明并设置了userControl1所有值,但是在testForm1userControl1将不会显示在testForm1 如果我从VS2010 Designer的userControl2 Properties窗口中选择userControl1 ,Visual Studio将崩溃。

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

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

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

您的控件的构造函数中可能存在尝试访问另一个不可用的东西,或者创建一个IDE无法捕获的异常(StackOverflow,OutOfMemory等)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM