我创建了一个新的空白表单,并尝试切换到设计模式,并且ide锁定并使用我的一个CPU的100%。我必须强行杀死它才能恢复可行的想法。查看源代码时,一切似乎都很好。我在现有项目(适用于其他人的机器)和全新解决方案中尝试了这一点,两者都具有相同的结果。我正在安装所有更新的WinXP专业版。
执行下面建议的操作(附加调试器并暂停执行)表明它已停留在此处:
[Managed to Native Transition]
System.Drawing.dll!System.Drawing.Graphics.DrawRectangle(System.Drawing.Pen pen,int x,int y,int width,int height)+ 0x3d bytes
System.Drawing.dll!System.Drawing.Graphics.DrawRectangle(System.Drawing.Pen pen,System.Drawing.Rectangle rect)+ 0x14 bytes
System.Design.dll!System.Windows.Forms.Design.PanelDesigner.DrawBorder(System.Drawing.Graphics graphics)+ 0x97 bytes
System.Design.dll!System.Windows.Forms.Design.PanelDesigner.OnPaintAdornments(System.Windows.Forms.PaintEventArgs pe = {ClipRectangle = {System.Drawing.Rectangle}})+ 0x50 bytes
System.Design.dll!System.Windows.Forms.Design.ControlDesigner.WndProc(ref System.Windows.Forms.Message m)+ 0xd1e bytes System.Design.dll!System.Windows.Forms.Design.ScrollableControlDesigner.WndProc(ref System.Windows.Forms.Message m = {System.Windows.Forms.Message})+ 0x12 bytes
System.Design.dll!System.Windows.Forms.Design.ControlDesigner.DesignerWindowTarget.OnMessage(ref System.Windows.Forms.Message m)+ 0x55 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m)+ 0x31 bytes
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd,int msg = 15,System.IntPtr wparam,System.IntPtr lparam)+ 0x57 bytes
答案 0 :(得分:2)
挂起的最可能原因是一个自定义控件,它在设计表单中显示初始化期间进入无限循环。检查此问题的最简单方法是让Visual Studio冻结,然后使用另一个Visual Studio实例附加到该进程。打破执行,它应该揭示调用堆栈挂起的原因。
答案 1 :(得分:1)
设计视图是资源密集型的。
我的建议