C# WinForm控件开发的调试设计时行为

开发 后端
C# WinForm控件开发调试的设计时行为什么样的宿主最好呢,当然是Visual studio了,visual studio里提供了非常全面的设计时支持。下来我就来演示一下具体的做法。

C# WinForm控件开发需要调试控件的设计行为,下文就是笔者对其的总结,笔者具有很多C# WinForm控件开发的经验,有许多值得大家学习的东西。

前面的一些文章绝大部分都是要讲C# WinForm控件开发的设计时的行为,既然涉及到这么多的设计时行为的代码编写,那么就有必要就一下如何来调试控件的设计行为。

C# WinForm控件开发设计的设计时行为和调试DLL的方式非常的相似,因为DLL是不能够单独运行的,而一般的控件也会在一个DLL里。当然如果你不考虑类的可复用性而把控件写在一个Windows Application里面也无可厚非,这样调试倒也变的简单了。但是我们还是要考虑更通常的情况。

一般来说,我们调试DLL时,都是创建一个可独立运行的应用程序,在这个应用程序里引用你希望调试的DLL工程,在DLL工程的代码里设置断点,然后调试。所以,调试这一类东西,首要的问题就是找到一个调用它的宿主。C# WinForm控件开发调试的设计时行为什么样的宿主***呢,当然是Visual studio了,visual studio里提供了非常全面的设计时支持。下来我就来演示一下具体的做法。

首先将你要测试的C# WinForm控件开发调试所在的工程设为启动工程。在Solution Explorer里右键点击控件所在的工程,在菜单里选择属性(Properties)进入工程属性设置界面,点击“Debug”页面,将Start Action 选为“Start External Program”,接下来点击后边的选择按钮选中你的Visual Studio的可执行程序,我的Visual Studio程序位于“D:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe”,你可以根据自己的情况选择。

如下图:

C#  WinForm控件开发调试控件的设计时行为
C#  WinForm控件开发调试控件的设计时行为

在设置完以后工程属性以后,在需要调试的地方设置断点,然后点击F5或者点击工具栏的运行按钮。当点击以后,visual studio会运行起来,在运行起来的Visual studio里面打开一个应用你这个Assembly的工程。

在这个工程里切换到Form设计器界面,选中你的控件,然后编辑你所要调设的功能,比如,你要调试一个C# WinForm控件开发的属性的Editor,你在这个editor类里设置断点,接着在属性浏览器里编辑这个属性,程序就会停在你设置的断点。

【编辑推荐】

  1. 详解TripleDES实现C# 加密操作
  2. 浅析C# WinForm控件开发前期准备
  3. 详解C# WinForm自定义控件的使用和调试
  4. C# Attribute的概念与使用浅析
  5. C# AttributeUsage的使用浅析
责任编辑:阡陌 来源: 博客园
相关推荐

2009-09-11 10:41:20

C# WinForm控

2009-09-11 11:04:23

C# WinForm自

2009-09-11 11:33:58

C# WinForm控Attribute

2009-08-20 10:24:52

C#开发WinForm

2009-08-20 09:30:03

C#开发WinForm

2009-09-11 12:31:15

C# WinForm控设置默认值

2009-09-01 10:35:59

C# WinForm控

2009-10-10 14:54:44

treeView1控件

2009-09-11 12:52:09

C# WinForm控编辑器

2009-08-24 10:10:09

C#复合控件

2009-09-16 10:56:22

C#开发ActiveX

2009-04-01 16:26:06

LabelWinFormC#

2009-09-01 17:08:14

C#画线控件

2011-05-20 16:07:29

C#

2009-09-03 10:26:07

C#修改DataRea

2009-08-03 14:46:12

C#自定义控件

2009-08-11 14:45:41

C# DataGrid

2009-08-18 17:41:22

C# ListView

2009-08-24 16:37:41

C# Winform刷

2021-03-13 14:02:16

C#控件动态
点赞
收藏

51CTO技术栈公众号