gpt4 book ai didi

visual-studio-2010 - 在设计模式下打开包含用户控件的表单时,Visual Studio 2010崩溃

转载 作者:行者123 更新时间:2023-12-03 15:22:30 26 4
gpt4 key购买 nike

以下是我的问题:
我在Windows窗体项目中有一个自定义UserControl。我可以在设计师中设计它。但是,只要我要编辑包含控件的表单,Visual Studio 2010就会崩溃。

据我所知,构造函数和控件的Load-Event是在加载表单时执行的。

我尝试使用VS2010的另一个实例调试设计器,但找不到执行的位置。

起初,我的问题似乎是,对于Threading.Timer对象,该对象用于初始化我的对象(即,从数据库中加载值,依此类推(如果出错,请稍后再尝试;))),回调函数是因此,在设计模式下,它试图访问它无法访问的对象。Threading.Timer对象的初始化在Load-Event中。但是,即使我注释掉了load事件中的所有内容之后(除了try catch块,因为它在第二个实例VS2010中都有一个断点来调试设计器,都尝试了Debugger.Break()调用),Visual Studio仍然崩溃,直到我想编辑包含设计模式下的控制。

我尝试了一些在这里找到的步骤,但未解决问题:User control always crashes Visual Studio

因此,即使设计人员在解析Load-Event或Constructor时没有任何工作。它仍然崩溃。

有人知道我可以做些什么来防止Visual Studio崩溃并在窗体设计器中正确显示用户控件吗?

包含用户控件的项目还引用了一些自定义库和一个库项目。我不知道问题是否与此有关。

最佳答案

解决了我自己的问题...

通过某种方式尝试调试设计器模式,我欺骗了自己。

在设计器模式下尝试打开包含用户控件的表单时,在Load-Event中设置 Debugger.Break()是一个非常糟糕的主意,因为如果您不使用其他Visual Studio实例调试Visual Studio,则 Debugger.Break()将停止应用程序,因此会导致Visual Studio实例崩溃。

最后,通过使用用户控件的DesignerMode属性,我能够阻止设计人员执行线程的初始化.Timer对象可以通过这种方式解决问题。

关于visual-studio-2010 - 在设计模式下打开包含用户控件的表单时,Visual Studio 2010崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7008217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com