惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
F
Full Disclosure
G
Google Developers Blog
罗磊的独立博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
A
About on SuperTechFans
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
The Register - Security
The Register - Security
U
Unit 42
D
Docker
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Google DeepMind News
Google DeepMind News

博客园 - 纶巾客

Redis数据类型 Solr的Scala客户端(scalikesolr)介绍 使用Solr构建企业级的全文检索(四)---------写入文档 使用Solr构建企业级的全文检索(三)---------Schema定义 使用Solr构建企业级的全文检索(二)---------管理界面简介 使用Solr构建企业级的全文检索(一)---------开篇 再次提笔 构建插件式的应用程序框架(八)----视图服务的简单实现 WinForm控件开发总结(十二)-----让控件处理导航键 构建插件式的应用程序框架(七)----基本服务 构建插件式的应用程序框架(六)----通讯机制 构建插件式的应用程序框架目录 WinForm控件开发总结目录 构建插件式的应用程序框架(五)----管理插件 构建插件式的应用程序框架(四)----服务容器 构建插件式的应用程序框架(三)----动态加载 构建插件式的应用程序框架(二)----订立契约 构建插件式的应用程序框架(一)----开篇 制作VS风格的Toolbox控件
WinForm控件开发总结(十一)-----调试控件的设计时行为
纶巾客 · 2007-01-23 · via 博客园 - 纶巾客

      前面的一些文章绝大部分都是要讲控件的设计时的行为,既然涉及到这么多的设计时行为的代码编写,那么就有必要就一下如何来调试控件的设计行为。
       调试控件的设计时行为和调试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 Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe”,你可以根据自己的情况选择。如下图:
      
       在设置完以后工程属性以后,在需要调试的地方设置断点,然后点击F5或者点击工具栏的运行按钮。当点击以后,visual studio会运行起来,在运行起来的Visual studio里面打开一个应用你这个Assembly的工程,在这个工程里切换到Form设计器界面,选中你的控件,然后编辑你所要调设的功能,比如,你要调试一个控件的属性的Editor,你在这个editor类里设置断点,接着在属性浏览器里编辑这个属性,程序就会停在你设置的断点。

       今天我也把写前面的文章的时候用到的源码附上,方便朋友们使用。
示例源代码