Atlas学习手记(14):使用ToggleButton Extender来装扮CheckBox

使用ToggleButton Extender可以创建非常酷的CheckBox,它允许我们使用图片来表示ASP.NET中的CheckBox控件的选择状态。

主要内容

1ToggleButton Extender介绍

2.完整示例

 

一.ToggleButton Extender介绍

使用ToggleButton Extender可以创建非常酷的CheckBox,它允许我们使用图片来表示ASP.NET中的CheckBox控件的选择状态。实现后的效果如下:

ToggleButton示例代码:

<atlasToolkit:ToggleButtonExtender ID="ToggleButtonExtender2" runat="server">

    
<atlasToolkit:ToggleButtonProperties 

        
TargetControlID="CheckBox1" 

        ImageWidth
="19" 

        ImageHeight
="19"

        UncheckedImageUrl
="ToggleButton_Unchecked.gif" 

        CheckedImageUrl
="ToggleButton_Checked.gif">

    
</atlastoolkit:ToggleButtonProperties >

</atlasToolkit:ToggleButtonExtender>

属性如下所示:

属性

解释

TargetControlID

要扩展的CheckBoxID

UncheckedImageUrl

未选择时的图片路径

CheckedImageUrl

选中后的图片路径

ImageWidth

图片的宽度

ImageHeight

图片的高度

二.完整示例

下面看一个完整的示例[来自于http://blogs.vertigosoftware.com]。新建一个Web Site站点后,在ASPX页面的顶部加入对AtlasControlToolkit的引用:

<%@ Register Assembly="AtlasControlToolkit" 

            Namespace
="AtlasControlToolkit" 

            TagPrefix
="atlastoolkit" 
%>

在页面中加入四个CheckBox,我们将对其中的三个进行扩展:

<div class="togglebutton">

    
<asp:CheckBox ID="CheckBox1" runat="server" 

        Text
="Default ASP.NET Checkbox" /><br /><br />

    
<asp:CheckBox ID="CheckBox2" runat="server" 

        Text
="Improved Checkbox with the ToggleButtonExtender" /><br /><br />

    
<asp:CheckBox ID="CheckBox3" runat="server" 

        Checked
="true" Text="Can extend multiple checkboxes" /><br />

    
<asp:CheckBox ID="CheckBox4" runat="server" 

        Text
="Any icon can be used" />

</div>

在解决方案资源管理器中,建立Images文件夹,保存必要的图片,再下载的示例中有。现在添加ToggleButtonExtender,对三个CheckBox进行扩展,添加三个ToggleButtonProperties

<atlastoolkit:ToggleButtonExtender ID="ToggleButtonExtender1" runat="server">

    
<atlastoolkit:ToggleButtonProperties 

        
TargetControlID="CheckBox2" 

        CheckedImageUrl
="images/checked.png"

        UncheckedImageUrl
="images/unchecked.png" 

        ImageHeight
="16" ImageWidth="16">

    
</atlastoolkit:ToggleButtonProperties >

    
<atlastoolkit:ToggleButtonProperties 

        
TargetControlID="CheckBox3" 

        CheckedImageUrl
="images/checked.png"

        UncheckedImageUrl
="images/unchecked.png" 

        ImageHeight
="16" ImageWidth="16">

    
</atlastoolkit:ToggleButtonProperties >

    
<atlastoolkit:ToggleButtonProperties 

        
TargetControlID="CheckBox4" 

        CheckedImageUrl
="images/ToggleButton_Checked.gif"

        UncheckedImageUrl
="images/ToggleButton_Unchecked.gif" 

        ImageHeight
="19" ImageWidth="19">

    
</atlastoolkit:ToggleButtonProperties >

</atlastoolkit:ToggleButtonExtender>

还有几个使用到的CSS样式:

<style type="text/css">

    body 
{

        font
:normal 10pt/13pt Arial, Verdana, Helvetica, sans-serif;

        color
:#666;

        margin
:20px;

    
}


    .togglebutton 
{

        padding-top
:13px;

    
}


    .togglebutton label 
{

        padding-left
:8px;

    
}


</style>

好了,整个过程就完成了,可以看到使用Extender的过程非常简单,编译运行:

选择后:


完整示例下载:http://files.cnblogs.com/Terrylee/ToggleButtonDemo.rar

作者:TerryLee
出处:http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2006-08-05 14:51 TerryLee 阅读(3434) 评论(29)  编辑 收藏 网摘 所属分类: [08]  Web开发

  回复  引用  查看    
#1楼 2006-08-05 15:08 | 大力      
楼主:这个例子还要引用什么组件,单单引用 Microsoft.Web.Atlas.dll 好像还不够呀。
  回复  引用  查看    
#2楼 2006-08-05 15:19 | 隨風.NET      
@大力
还需要 atlastoolkit.dll
  回复  引用    
#3楼 2006-08-05 15:30 | xiangdongnan [未注册用户]
这东西不一定实用吧

现在的客户都越来越白痴

你不告诉他那个红叉子点一下能变成绿勾他根本不知道那是一个Checkbox
  回复  引用  查看    
#4楼 2006-08-05 16:06 | aspnetx      
建议楼主把atlas.asp.net相对应的实例链接放上
这样一来可以减少你的工作量
二来可以让大家更清楚这个功能到底是做什么的
当然,楼主的必要说明也是不可少的
毕竟官方上面现在还是英文的
  回复  引用  查看    
#5楼 2006-08-05 16:08 | aspnetx      
还有一点期望,就是希望atlas的官方研发进度要比楼主写的文章的快
真的好想目睹atlas的正式版或asp.net3.0
我想这也正是所有开发人员所期望的,呵呵
  回复  引用  查看    
#6楼 [楼主]2006-08-05 16:09 | TerryLee      
@大力
需要引用AtlasControlToolkit.dll
  回复  引用  查看    
#7楼 [楼主]2006-08-05 16:11 | TerryLee      
@xiangdongnan
在旁边来点说明吧,呵呵
用在需要的地方,不要到处乱用就行!
  回复  引用  查看    
#8楼 [楼主]2006-08-05 16:15 | TerryLee      
@aspnetx
谢谢!
  回复  引用  查看    
#9楼 2006-08-05 20:11 | 郑浩宇      
很好 很好!谢谢
  回复  引用    
#10楼 2006-08-06 02:48 | 正树 [未注册用户]
可以把红色叉子 和 对勾 也做上边框
只要设计图片的人多了解些用户交互的问题就ok啦
  回复  引用  查看    
#11楼 [楼主]2006-08-06 09:56 | TerryLee      
@郑浩宇
不客气:-)
  回复  引用  查看    
#12楼 [楼主]2006-08-06 09:56 | TerryLee      
@正树
总之一句话就是提高用户体验,呵呵:-)
  回复  引用    
#13楼 2006-08-06 11:38 | 初学 [未注册用户]
不错哦
  回复  引用    
#14楼 2006-08-07 10:54 | BTBTSHU [未注册用户]
应该如何设定 Hover 状态下的 Image 或者 CSS?
  回复  引用    
#15楼 2006-08-07 15:30 | tadxdsd [未注册用户]
Terry:
今天怎么没有新的atlas文章呢 呵呵 ?
  回复  引用  查看    
#16楼 [楼主]2006-08-07 15:55 | TerryLee      
@BTBTSHU
你说的是哪个Extender?
  回复  引用  查看    
#17楼 [楼主]2006-08-07 15:55 | TerryLee      
@tadxdsd
今天有点忙,没顾得上,呵呵
争取晚点看能不能发一篇
  回复  引用    
#18楼 2006-08-08 12:30 | BTBTSHU [未注册用户]
@TerryLee
看本文的第一张图片,Default ASP.NET Checkbox,有鼠标悬停效果,
但是似乎 ToggleButton Extender 中,没有这么一个属性 HoverImageUrl,用来指定鼠标悬停的 Image。
  回复  引用  查看    
#19楼 [楼主]2006-08-08 12:33 | TerryLee      
@BTBTSHU
晕,Default ASP.NET Checkbox是没有使用ToggleButton Extender,那种悬浮效果是在XP操作系统下出现的。仔细看看文章,只对后面三个使用了ToggleButton Extender
  回复  引用    
#20楼 2006-08-08 23:28 | BTBTSHU [未注册用户]
当然知道 "Default ASP.NET Checkbox是没有使用ToggleButton Extender" .... #_#
我的意思就是说,这样的效果很好,可惜ToggleButton Extender 中未提供。
  回复  引用  查看    
#21楼 [楼主]2006-08-09 08:17 | TerryLee      
@BTBTSHU
-_-
  回复  引用    
#22楼 2006-08-16 23:05 | 孤叶 [未注册用户]
这个功能不错
不过我想如果做成产品的,给客户用,都不知他们能不能反应过来,现在有的人真的很BC,没有办法;

对了,顺便问下,可以用这个altas框架进行商业开发吧

谢谢
  回复  引用    
#23楼 2006-08-27 14:11 | 叶平 [未注册用户]
大家好,我使用的是vb.net2003,程序中有一个窗体上有ToggleButton控件,打开时在有些计算机上会出现错误,捕获到的是未知错误,有些计算机上又是正常的。

请问各位高手,这是什么原因呀?我在软件的安装包中已经包含了这个控件了。
  回复  引用  查看    
#24楼 [楼主]2006-08-28 08:30 | TerryLee      
@孤叶
完全可以用来做商业开发!
  回复  引用  查看    
#25楼 [楼主]2006-08-28 08:31 | TerryLee      
@叶平
需要使用VS2005
  回复  引用    
#26楼 2006-09-13 15:48 | Alan[匿名] [未注册用户]
怎么会有“Object doesn't support this property or method”的错误,
请指点!谢谢!
  回复  引用  查看    
#27楼 [楼主]2006-09-14 11:34 | TerryLee      
@Alan[匿名]
是下载的最新版本吗?
  回复  引用    
#28楼 2007-01-17 00:31 | snyod [未注册用户]
代表党(.NET平台)感谢您.
全部收藏.......




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-08-15 08:03 编辑过
Google站内搜索

相关文章:

相关链接: