C# 在designer中移动窗体上的控件时,Visual Studio 2012突然崩溃
当我在设计器中的主窗体上移动某些元素时(编辑:将其缩小到大小/位置更改到对其调用了SuspendLayout、ResumeLayout和PerformLayout的控件,并且只有在使用鼠标直接编辑的情况下,才可以正常工作),VS崩溃并告诉我它已停止工作。当我使用第二个实例进行调试时,调试器会在devenv.exe中给我一个未处理的NullReferenceException。这个问题突然不知从何处冒出来,似乎很难解决-我修复了VS,重新安装了.Net framework(4.5 SDK),重新启动了机器,以管理员身份运行VS等。我使用的是Windows 8最新版本,我使用的是Visual Studio 2012 Premium 我唯一使用的第三方插件是git-ext 有没有人有过这样的经验?直到今天,我还认为像这样的东西更像是Java/Eclipse世界的主题…提前感谢您的任何提示,我有点绝望:)我当然会提供任何需要的额外信息!干杯 编辑 以下是使用第二个VS实例调试时遇到的异常:C# 在designer中移动窗体上的控件时,Visual Studio 2012突然崩溃,c#,winforms,visual-studio-2012,crash,.net-4.5,C#,Winforms,Visual Studio 2012,Crash,.net 4.5,当我在设计器中的主窗体上移动某些元素时(编辑:将其缩小到大小/位置更改到对其调用了SuspendLayout、ResumeLayout和PerformLayout的控件,并且只有在使用鼠标直接编辑的情况下,才可以正常工作),VS崩溃并告诉我它已停止工作。当我使用第二个实例进行调试时,调试器会在devenv.exe中给我一个未处理的NullReferenceException。这个问题突然不知从何处冒出来,似乎很难解决-我修复了VS,重新安装了.Net framework(4.5 SDK),重新启
System.NullReferenceException was unhandled
HResult=-2147467261
Message=Object reference not set to an instance of an object.
Source=System.Design
StackTrace:
at System.Windows.Forms.Design.Behavior.BehaviorService.AdornerWindow.MouseHook.MouseHookProc(Int32 nCode, IntPtr wparam, IntPtr lparam)
InnerException:
按照Kyle的指示(非常感谢您的输入!!),到目前为止,我尝试了以下方法:
按照Avi的说明,我能够解决该问题-它似乎是由VS2012中的一个错误引起的,我在一些其他控件后面隐藏了一个GroupBox控件,当我删除它时,错误就消失了。请尝试以下解决方法:
这是关于这个问题的评论摘要: 为了追踪问题,我将尝试:
请记住,在设计时,设计器模拟对构造函数的调用,以便“构建”设计器。
因此,使用try-catch子句包装对
InitializeComponent
的调用,应该会在designers
文件中出现异常。您可以指定要移动哪些元素吗?这是一个具体的问题吗?它是自定义用户控件吗?属于.NET framework/第三方的用户控件?感谢您的评论!我对它进行了更多的研究,似乎我可以将其缩小到Windows.Forms.GroupBox控件。该组框是否包含任何其他控件?是的,但如果我添加一个新的空组框,其行为方式完全相同。我现在发现,只有当我使用鼠标修改大小/位置时,它才会崩溃。当直接编辑属性时,它就像一个符咒。是否有方法注册到调整大小的事件?