2014-02-08 13 views
1

在测试对自定义WinForms控件进行的许多更改时遇到了一些问题,这些问题仅在Visual Studio设计器中加载托管自定义控件的窗体时才会发生。调试Visual Studio设计器中的InitializeComponent函数

因此,我想了解在Visual Studio设计器加载时是否有任何方法用于调试和逐步(或以某种方式记录)自定义控件代码的行为。

+0

那么是什么阻止你进入正常状态?我刚刚尝试过,看起来很好。 –

+0

我必须丢失一些明显的东西,因为在启动设计器时,自定义控件的代码中的断点似乎没有被触发。 –

+0

啊,对不起 - 误解了这个问题。我愚蠢地没有看到“在设计师”位。不知道为什么。再次道歉。 –

回答

1

调试自定义控件时,需要通过将项目的调试属性设置为“启动外部程序”并将可执行文件路径设置为devenv.exe来启动Visual Studio的第二个实例。

然后在VS的第二个实例中,打开您正在处理的项目,您将能够调试由设计人员触发的代码。在第一个实例中,在自定义控件中设置断点,并在第二个实例调用表单时触发它们。

干杯

+1

非常感谢 - 这就是诀窍。自.NET早期开发自定义控件以来,这是我第一次需要以这种方式进行调试。有点让我感到惊讶的是,设计者根本没有调用InitializeComponent函数。您能否指出我在任何涵盖自定义控件开发的设计方面的优秀资源的方向? –

+1

我的理解是'InitializeComponent'被设计者解析,但没有执行。这是一个很好的介绍:http://msdn.microsoft.com/en-us/magazine/cc164159.aspx –