用.NET Framework 2.0创建Form设计器
发布时间:2006-06-09 15:17:08 来源:BLOG 网友评论 0 条
更多.net技术
Microsoft .NET Framework 1.0提供了一个非常通用的设计时框架,但是没有提供任何实现代码来完成一个设计器,Visual Studio? .NET实现了所有的复杂逻辑,要第三方去重新实现这个复杂的逻辑。.NET Framework 2.0引入了一组类能够用于设计器的实现。
![]() |
理解.NET Framework如何工作,非常重要的是要了解设计器是如何使用的。设计器是负责管理设计界面上的组件的设计时期行为和表现的对象。框架关联设计时对象和运行时对象,为设计时组件提供了一个管道扩展运行时对象的行为。运行时,Form上的一个form和button这两个控件只是通过父子关系相关联,没有其他的对象来控制这些控件的生命周期。
![]() Figure 2 |
上面的图片看出设计时比较复杂,Form和button都有一个设计器相关联,两个对象都和Host容器相关联,host容器拥有这两个对象,host容器也提供服务---例如选取服务处理设计时的组件选取,并跟踪所选取的组件,UI服务用于显示对话,调用帮助系统和设计环境相联系。
Host container有许多职责,包括创建组件、绑定组件到设计器和为组件和设计器提供服务。从持久化介质上加载组件和保存组件状态到持久化介质。Host container提供撤销、剪贴板功能和其他的服务等为实现鲁棒的设计器所依赖的功能。
![]() Figure 3 Designer Hosting |
host container使用designer loader持久化设计器状态,designer loader使用序列化机制序列化组件。
服务扩展
The .NET Framework设计时框架是可扩展,提供的服务可用于实现各式各样的设计器。一个服务是提供对象可通过类型进行查询,典型的是你定义了服务的抽象类和接口和服务的实现。你可以从service container中添加或者删除服务。IDesignerHost是设计器主要的host接口,是一个Service Container。服务是一个组件间可以共享的,正因如此,在创建和使用Service的时候必须遵循确定的规则。
Services不被保证的,无论何时通过GetService方法请求一个服务(Services),你一定要检查返回的是否是一个有效对象。并不是所有的服务在所有的平台上都是可用的,而且曾经可用的服务未来不可能是可得。因此你的代码应当被写的降低优雅型,通常籍由需要某种服务而丢失某些特性,以防万一一个服务也得不到。
如果你添加一个服务,记得在设计器的被disposed的时候移除它。设计器会时不时地创建和消毁,如果你没有去清除一个服务的话,旧的设计器就会遗留在内存中。
相关文章
上一篇文章:ASP.NET 2.0的缓存技术简介
下一篇文章:ASP.NET 2.0服务器控件开发之简单属性
- 推荐阅讯
- ASP.NET数据库编程之Access连接失败
- ASP.NET服务器控件编程之热身运动
- ASP.NET底层架构探索之再谈.NET运行时
- ASP.NET 2.0站点地图搭建网站导航结构
- 在ASP.NET程序中实现语音合成
- 10天学会ASP.net之第六天
- asp.net 2.0 下的表单验证Cookieless属性
- 关于.NET动态代理的介绍和应用简介
- 实现.NET应用程序的自动更新
- ASP.NET 2.0中创建内容页
- 阅读排行
- 1.用ASP.NET 2.0设计网络在线投票系统
- 2.在ASP.Net 2.0中实现多语言界面的方法
- 3.轻松加密ASP.NET 2.0 Web程序配置信息
- 4.在ASP.NET中使用AJAX的简单方法
- 5..NET 2.0中的企业库异常处理块简述
- 6.面向.NET开发人员的Ajax 技术平台策略
- 7.揭开ASP.NET中Cookie编程的奥秘
- 8.ASP.NET2.0服务器控件之创建自定义控件
- 9.ASP.NET2.0中Gridview中数据操作技巧
- 10.ASP.NET 2.0发送电子邮件全面剖析之二
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册



