http://www.cnblogs.com/yueue/archive/2007/01/26/631469.html
介绍
Live demo- 在线试用
用例1:GridView action items
这个小组件可以让你简单的将下面这张表
用例2:Image actions
MenuPilot 可以让图片支持任务菜单,方便的让下面的界面:
变成这样:
如果你有一个页面放满了图片,而没有合适的位置放功能按钮,这将对你非常有用。
MenuPilot 的特性
支持自定义提示图标 支持自定义颜色 支持数据绑定 支持菜单分隔(separators) 全面支持Visual Studio .NET 2005设计时任务 支持ASP.NET 2.0 可与3种ASP.NET 内置组件: HyperLink , Label , Image 进行连接 菜单项支持 title和 target 属性 菜单项可执行 javascript或 转向URL 免疫Internet Explorer z-index bug 免疫Internet Explorer windowed controls z-index bug它的原理是?
MenuPilot 的原理其实很简单:
每个MenuPilot组件有2个隐藏元素:提示图标(hint icon)和任务菜单(task menu) 当有用户的指针滑过MenuPilot组件,提示图标就会显示(onmouseover 事件) 当提示图标被单击,任务菜单就会显示出来 当用户的指针离开了任务菜单,则提示图标和任务菜单全部消失当然,这里有一些操作需要完成,以保证MenuPilot可以工作:
注意以下代码仅解释原理,已封装于组件中
1.下面的代码保证当指针停留一定时间后才显示或隐藏提示图标(在onmouseover或onmouseout事件中使用):
2.下面的代码保证当指针移动到别的MenuPilot组件上后,先前的提示图标和任务菜单可以及时消失:
所有的<span>元素都会在onmouseout事件中调用下面的函数:
3. 下面的内容保证任务菜单会在<select>元素之上显示(IE Bug)
IE浏览器的BUG:<select>元素会永远在其他元素之上显示
详细见http://dotnetjunkies.com/WebLog/jking/archive/2003/10/30/2975.aspx
关于组件
组件包含3个部分
MenuPilotHyperLink MenuPilotLabel MenuPilotImage它们都来自ASP.NET中自带的 HyperLink, Label, Image 组件,所以默认的属性他们都有:
PersistChildren(false)]
[ParseChildren(true, "MenuItems")]
[DefaultProperty(null)]
[Designer(typeof(ControlDesigner))]
[ToolboxBitmap(typeof(HyperLink))]
public class MenuPilotHyperlink : HyperLink
{
//...
当然也少不了一些特有的属性:
下载