Cutting Edge:为ASP.NET控件加入快捷菜单(2)英文原文:Adding a Context Menu to ASP.NET Controls
作者:Dino Esposito
翻译:刘瑞才
源码:CuttingEdge0502.exe 编程接口
我们的ContextMenu控件从WebControl继承并执行INamingContainer接口
public class ContextMenu : WebControl, INamingContainer
图一控件的成员细节,如下:
属性 描述 AutoHide 标志当用户鼠标移出控件区域时,是否自动隐藏快捷菜单 BoundControls 返回使用快捷菜单的控件集合 CellPadding 返回或设置每个菜单项周围的空间的象素数 ContextMenuItems 返回菜单项的集合 RolloverColor 返回或设置当鼠标划过菜单项时突显的颜色 方法 描述 GetEscReference 返回当用户按下Esc键时用于隐藏页面中的快捷菜单的JavaScrip代码 GetMenuReference 返回一段JavaScript代码,这段代码将关联到快捷菜单所对应的HTML元素上. GetOnClickReference 返回当用户在菜单区域外点击时隐藏快捷菜单的代码. 事件 描述 ItemCommand 当用户点击一个快捷菜单项进激发.
关键属性是ContextMenuItmes集合属性,它包含了ContextMenuItem类型的对象集合,每一个对象表示一个菜单项。ContextMenuItem类的源码如下:
[TypeConverter(typeof(ExpandableObjectConverter))]
public class ContextMenuItem
{
public ContextMenuItem() {}
public ContextMenuItem(string text, string commandName)
{
_text = text;
_commandName = commandName;
}
private string _text;
private string _commandName;
private string _tooltip;
public string Text
{
get {return _text;}
set {_text = value;}
}
public string CommandName
{
get {return _commandName;}
set {_commandName = value;}
}
public String Tooltip