.NET Compact Framework1.0下自定义控件的编写4-论CF与完整版.NET的异同
2009-09-23 09:24
344 查看
完整版.NET下对库做了修改不需要重新配置库的调用程序,但如果需要更新图标的话则需重新配置(所谓“配置”即将控件从工具栏中删除后又重新加入)。
l 精简版不支持环境变量。
l 注意在完整版中,如果自定义控件控件希望屏蔽一个基类属性,使它彻底不可见(即在属性浏览器和智能感知器中都看不到),对该属性同时使用EditorBrowable特性和Browable特性即可。但在CF中,要达到同样的效果,往往是将这两个特性分开使用的,即将Browable特性施加于控件的设计期版本中的属性,使其在属性浏览器中不可见,而EditorBrowable特性应该施加于控件的运行期版本的相应属性,才会使它在智能感知中不可见。
l 估计在精简版中,Form窗体没有Font属性。实验现象:重载了基类的OnParentChanged方法,在其中调用this.BackColor=Parent.BackColor,this.Font=Parent.Font,BackColor可以达到预期效果,而Font却造成StackOverflowException;分析:估计Form没有Font属性,或者它的属性始终是(“宋体”,9pt),因为如上OnParentChanged函数,即使在设计期修改了控件的Font,且在InitializeComponent中看到了这种修改,运行时也没有效果,所以,对于Font,自定义控件一定要有默认值。
l CF似乎不支持UITypeEditor。
l 一旦窗体添加了一个实现了ISupportInitialize接口的组件,则窗体的InitializeComponent方法中将在首尾自动加入对该组件实现的ISupportInitialize接口中的BeginInit和EndInit方法的调用。(很可惜CF不支持ISupportInitialize接口)
l 精简版.NET下不支持ISupportInitialize接口,而有时对属性Setter的调用次序又必须人为控制,如何解决这个问题?
见文章2。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yejun8214/archive/2008/03/24/2214771.aspx
l 精简版不支持环境变量。
l 注意在完整版中,如果自定义控件控件希望屏蔽一个基类属性,使它彻底不可见(即在属性浏览器和智能感知器中都看不到),对该属性同时使用EditorBrowable特性和Browable特性即可。但在CF中,要达到同样的效果,往往是将这两个特性分开使用的,即将Browable特性施加于控件的设计期版本中的属性,使其在属性浏览器中不可见,而EditorBrowable特性应该施加于控件的运行期版本的相应属性,才会使它在智能感知中不可见。
l 估计在精简版中,Form窗体没有Font属性。实验现象:重载了基类的OnParentChanged方法,在其中调用this.BackColor=Parent.BackColor,this.Font=Parent.Font,BackColor可以达到预期效果,而Font却造成StackOverflowException;分析:估计Form没有Font属性,或者它的属性始终是(“宋体”,9pt),因为如上OnParentChanged函数,即使在设计期修改了控件的Font,且在InitializeComponent中看到了这种修改,运行时也没有效果,所以,对于Font,自定义控件一定要有默认值。
l CF似乎不支持UITypeEditor。
l 一旦窗体添加了一个实现了ISupportInitialize接口的组件,则窗体的InitializeComponent方法中将在首尾自动加入对该组件实现的ISupportInitialize接口中的BeginInit和EndInit方法的调用。(很可惜CF不支持ISupportInitialize接口)
l 精简版.NET下不支持ISupportInitialize接口,而有时对属性Setter的调用次序又必须人为控制,如何解决这个问题?
见文章2。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yejun8214/archive/2008/03/24/2214771.aspx
相关文章推荐
- .NET Compact Framework1.0下自定义控件的编写4-论CF与完整版.NET的异同
- .NET Compact Framework1.0下自定义控件的编写2-论CF的设计期与运行期
- .NET Compact Framework1.0下自定义控件的编写2-论CF的设计期与运行期
- .NET Compact Framework1.0下自定义控件的编写3-小经验与小技巧
- .NET Compact Framework1.0下自定义控件的编写3-小经验与小技巧
- 在.NET Compact Framework编写一个自定制呈现的列表控件(翻译)
- [CF.Skills]在.NET Compact Framework中获取来电号码和屏蔽来电
- [CF.Skills]在.NET Compact Framework中设置webservice的session状态
- P/invoke in .NET Compact Framework [CF Skills]
- Add COM and ActiveX Support in .NET Compact Framework Using Odyssey Software CFCOM
- Add COM and ActiveX Support in .NET Compact Framework Using Odyssey Software CFCOM(中文)
- [CF.Skills]在.NET Compact Framework中获取来电号码和屏蔽来电
- 在设计时使用 Microsoft .NET Compact Framework 1.0 调试自定义控件
- [CF Skills]P/invoke in .NET Compact Framework
- 移动 WCF: 使用 .NET Compact Framework 编写 IM 应用程序
- 《.NET Compact Framework 移动开发指南》,即将与大家见面
- .NET Compact Framework 概述
- .Net Compact Framework 基础篇(1)
- .NET Compact Framework 3.5 in Platform Builder 6.0 (and 5.0)
- Windows Moible, Wince 使用.NET Compact Framework进行蓝牙(Bluetooth)开发 之 32feet.NET