WinForm控件开发总结(十一) 调试控件的设计时行为2011-11-14 博客园 纶巾客前面的一些文章绝大部分都是要讲控件的设计时的行为,既然涉及到这么多的设计时行为的代码编写 ,那么就有必要就一下如何来调试控件的设计行为。调试控件的设计时行为和调试DLL的方式非常的相似,因为DLL是不能够单独运行的,而一般的控件也 会在一个DLL里。当然如果你不考虑类的可复用性而把控件写在一个Windows Application里面也无可厚非 ,这样调试倒也变的简单了。但是我们还是要考虑更通常的情况。一般来说,我们调试DLL时,都是创建 一个可独立运行的应用程序,在这个应用程序里引用你希望调试的DLL工程,在DLL工程的代码里设置断点 ,然后调试。所以,调试这一类东西,首要的问题就是找到一个调用它的宿主。调试控件的设计时行为什 么样的宿主最好呢,当然是Visual studio了,visual studio里提供了非常全面的设计时支持。下来我就 来演示一下具体的做法。首先将你要测试的控件所在的工程设为启动工程。在Solution Explorer里右键点击控件所在的工程, 在菜单里选择属性(Properties)进入工程属性设置界面,点击“Debug”页面,将Start Action 选为“ Start External Program”,接下来点击后边的选择按钮选中你的Visual Studio的可执行程序,我的 Visual Studio程序位于“D:Program FilesMicrosoft Visual Studio 8Common7IDEdevenv.exe”, 你可以根据自己的情况选择。如下图:

在设置完以后工程属性以后,在需要调试的地方设置断点,然后点击F5或者点击工具栏的运行按钮。 当点击以后,visual studio会运行起来,在运行起来的Visual studio里面打开一个应用你这个Assembly 的工程,在这个工程里切换到Form设计器界面,选中你的控件,然后编辑你所要调设的功能,比如,你要 调试一个控件的属性的Editor,你在这个editor类里设置断点,接着在属性浏览器里编辑这个属性,程序 就会停在你设置的断点。今天我也把写前面的文章的时候用到的源码附上,方便朋友们使用。本文配套源码:http://www.bianceng.net/dotnet/201212/783.htm