Visual Studio Designer消息

时间:2012-02-22 10:20:28

标签: .net vb.net visual-studio visual-studio-2010 windows-forms-designer

当尝试在设计模式下打开表单(VB.NET)时,我有一个自定义UserControl,我看到来自Visual Studio的消息:

---------------------------
Microsoft Visual Studio
---------------------------
The control MyNamespace.MyUserControl has thrown an unhandled exception 
in the designer and has been disabled.  

Exception:
Cannot access a disposed object.
Object name: 'SplitterPanel'.

Stack trace:
---------------------------
OK   
---------------------------

表单未在设计器中显示。怎么办?

3 个答案:

答案 0 :(得分:4)

使用调试模式加载项目,并在用户控件的InitializeComponent()函数上放置一个断点。你可能会遇到一些错误,即处理一个名为SplitterPanel的对象然后尝试访问它。当Visual Studio尝试呈现控件时,将运行此初始化,从而导致您看到的错误。

答案 1 :(得分:3)

删除属性

<System.Diagnostics.DebuggerStepThrough()> _

来自设计器内的InitializeComponent()。这将允许您逐步完成设计器。要弄清楚抛出异常的确切位置,还可以在

抛出CLR异常时中断

调试菜单&gt;&gt;&gt;例外&gt;&gt;&gt;选中“Common Language Runtime Exceptions”,“Thrown”框

通过这两个步骤,您应该能够打破抛出异常的位置。

答案 2 :(得分:2)

您需要查看表单的设计者,以便在Dispose方法中调用InitializeComponent方法。会写这样的东西:

Me.SplitterPanel.Dispose()

因为这个调用对象在设计器中被销毁。所以它不再存在以展示和利用它。

删除此行将解决此问题。