闲来无事,学习了下红皮书《ASP.NET组件工具包》中第1章“微调控件”,将其VB.NET代码改写为C#代码,并作了较详细的注释,实现了一个类似WinForm中NumericUpDown的微调控件。

  效果图如右:ASP.NET自定义控件开发--微调控件(NumericUpDown)

  先总结一下开发中的问题和经验:

  1.注意:将控件项目的“属性”-->“通用属性”-->“常规”中的“默认命名空间”设为空,否则总出现错误:“System.ArgumentException: 已存在具有相同键的条目。”

哪位高手知道原因的话请赐教。???

  2.注意:将.js文件和.bmp文件作为嵌入资源进行编译。方法:在“解决方案资源管理器”中选中文件,右键“属性”,在属性框中“生成操作”项中选择“嵌入的资源”,随后编译该项目即可。

  3.注意:.bmp文件是作为控件的自定义图标显示在工具箱中的(如果你把控件添加到工具箱中的话),该文件要求必须与控件同名(如本程序中的命名为:Xct.WebControls.Spinner.bmp),且带.bmp后缀。

  4.将控件添加到工具箱中的方法:VS2003-IDE菜单“工具”-->“添加/移除工具箱项...”,在“.NET Framework组件”选项卡中点击“浏览”,选择控件对应的dll文件后点击“确定”。在工具箱的“常规”选项卡中就出现新添的控件,如图

ASP.NET自定义控件开发--微调控件(NumericUpDown)

 

  5.优点:该控件在编译时将JS脚本资源嵌入到了程序集dll文件中,使得在布暑应用时不需要再拷贝js文件

  6.问题:该控件的属性“TextAlign - 文本对齐方式”不起作用,不知怎么回事。???

  运行环境:Win2003Server + IIS6 + VS2003 + .NET Framework 1.1 + IE6

  附:《ASP.NET组件工具包》书中的代码可以在http://support.apress.com/books.asp?bID=1861008023&s=0下载.(注:在www.wrox.com找不到其源码下载)
  ===============================================================================

  控件程序代码(Spinner.cs):---- 

 

  1ASP.NET自定义控件开发--微调控件(NumericUpDown)using System;
  2ASP.NET自定义控件开发--微调控件(NumericUpDown)using System.Web.UI;
  3ASP.NET自定义控件开发--微调控件(NumericUpDown)using System.Web.UI.WebControls;
  4ASP.NET自定义控件开发--微调控件(NumericUpDown)using System.ComponentModel;
  5ASP.NET自定义控件开发--微调控件(NumericUpDown)using System.IO;
  6ASP.NET自定义控件开发--微调控件(NumericUpDown)
  7ASP.NET自定义控件开发--微调控件(NumericUpDown)
  8ASP.NET自定义控件开发--微调控件(NumericUpDown)//指定控件的标记前缀
  9ASP.NET自定义控件开发--微调控件(NumericUpDown)[assembly: TagPrefix("Xct.WebControls","xct")]
 10ASP.NET自定义控件开发--微调控件(NumericUpDown)namespace Xct.WebControls
 11

 

 

  Javascript脚本源码(SpinnerLib.js, 这是原书附带的代码):---- 

 

 1ASP.NET自定义控件开发--微调控件(NumericUpDown)<script language="JavaScript">
 2ASP.NET自定义控件开发--微调控件(NumericUpDown)<!--
 3ASP.NET自定义控件开发--微调控件(NumericUpDown)  function IsChar(code)
 4

 

  完整程序文件下载:----/Files/bluesky521/Spinner_OK200709271300.rar


  ---- 作者:夏春涛 Email:xchuntao@163.com QQ:23106676



相关文章: