SolpartMenu控件由Jon Henning开发,目前最新版本是1.0.0.4。我们先来熟悉一下它的特点。
-
完全支持ASP.NET,与VS.NET无缝集成。
-
支持XML文件和代码生成菜单。
-
使用数据岛,支持客户端缓冲功能(此功能仅适用于IE 5以上版本)。
-
支持鼠标悬停效果。
-
支持十几种滤镜效果(某些滤镜效果仅支持IE 5.5以上版本)。
-
菜单智能化展开,完全避免子菜单在展开时会显示在屏幕外。
-
支持自定义菜单项风格。
-
支持菜单在页面中自动移动。
其它特点笔者不再一一介绍,请大家参见下文第一部分中的SolpartMenu属性一览表。笔者将以下图为范例,向大家讲述分别用XML文件和代码生成菜单的方法。
在VS.NET中使用SolpartMenu控件之前,我们必须要做两项准备工作:
1、 将SolpartMenu控件引用添加到“解决方案资源管理器”中。步骤如下:打开【解决方案资源管理器】面板,用鼠标右键单击【引用】,选择添加【引用….. 】菜单,在弹出的对话框中选择【.NET】卡片,单击【浏览】按钮,找到SolpartWebControls.dll文件,再依次单击【选择】,【确定】按钮。这样,SolpartMenu的引用就被添加到当前项目中。请参见下图
2、 将SolpartMenu控件添加到工具箱中,以后在应用的时候只要直接用鼠标把它拖拽到页面中即可。打开【工具箱】面板,鼠标右键单击,选择【自定义工具箱……】菜单,在弹出的对话框中选择【.NET框架组件】,单击【浏览】按钮,找到SolpartWebControls.dll文件,单击【确定】按钮即可。添加后的工具箱如右图所示。
一、 SolpartMenu控件的属性
SolpartMenu控件有许多属性,这些属性的组合应用构成了菜单的主体。下表是SolpartMenu控件的所有属性及其说明。
布局 |
IconWidth |
菜单项图标区宽度 |
MenuBarHeight |
菜单条高度 |
|
MenuBorderWidth |
菜单边框宽度 |
|
MenuItemHeight |
菜单项高度 |
|
数据 |
(DataBindings) |
相关联的数据绑定的集合 |
MenuData |
生成菜单的XML字串 |
|
MenuDataXMLFileName |
包含菜单内容的XML文件名 |
|
外观 |
ArrowImage |
指示下级子菜单的箭头图像 |
BackColor |
菜单背景色 |
|
BackgroundMenuImage |
菜单背景图像 |
|
Display |
水平|垂直显示菜单 |
|
Font |
|
|
Bold |
字体加粗(True|False) |
|
Italic |
字体倾斜(True|False) |
|
Name |
首选字体名称 |
|
Names |
可选的字体名称序列 |
|
Overline |
字体上划线(True|False) |
|
Size |
字体大小(磅) |
|
Strikeout |
字体删除线(True|False) |
|
Underline |
字体下划线(True|False) |
|
ForceDownlevel |
用文字表示当前菜单层级(True|False) |
|
ForeColor |
菜单前景色 |
|
HighlightColor |
菜单高亮色 |
|
IconBackGroundColor |
图标区背景色 |
|
MenuAlignment |
菜单对齐方式 |
|
MenuEffects |
|
|
MenuTransition |
菜单展开滤镜效果 |
|
MenuTransitionLength |
滤镜效果的时间(秒) |
|
MouseOverDisplay |
鼠标悬停时菜单条效果 |
|
MouseOverExpand |
鼠标悬停是否展开菜单(True|False) |
|
ShadowColor |
菜单阴影效果 |
|
ShadowDirection |
菜单阴影方向 |
|
ShadowStrength |
菜单阴影强度 |
|
RootArrow |
菜单条箭头(推荐用于垂直显示菜单时) |
|
SelectedBorderColor |
选中菜单项边框颜色 |
|
SelectedColor |
选中菜单项的背景色 |
|
SelectedForeColor |
选中菜单项的前景色 |
|
ShadowColor |
菜单项右、下边框颜色 |
|
行为 |
AccessKey |
键盘的快捷方式 |
Enabled |
菜单激活状态(True|False) |
|
EnableViewState |
是否自动保存菜单状态(True|False) |
|
Moveable |
菜单能否移动(True|False) |
|
TabIndex |
菜单的TAB键顺序 |
|
ToolTip |
鼠标悬停时的文字说明 |
|
Visible |
菜单是否可见(True|False) |
|
杂项 |
(ID) |
菜单的ID |
SystemImagesPath |
菜单中图片路径 |
|
SystemScriptPath |
菜单脚本路径(用于代码生成菜单) |
二、 使用XML文件生成菜单
使用XML文件生成菜单比较简单,它适用于菜单项更新不是很频繁的情况。我们只要制作一个XML文件,然后将SolpartMenu控件属性MenuDataXMLFileName指向它就可以了。具体步骤如下:
1、 打开工具箱,用鼠标将SolpartMenu控件拖拽到页面中,系统会自动为该控件赋ID值为SolpartMenu1。
2、 选中控件SolpartMenu1,打开属性面板,进行属性设置。本文中具体设置如下:
<cc1:SolpartMenu
id="SolpartMenu1"
MenuBarWidth="100px"
runat="server"
MenuDataXMLFileName="ycfcMenu.xml"
Font-Size="9pt"
MenuEffects-Style="filter:progid:DXImageTransform.Microsoft.Shadow(color='DimGray', Direction=135,
Strength=3)progid:DXImageTransform.Microsoft.Alpha(opacity=100) ;"
MenuEffects-MouseOverDisplay="Highlight"
MenuEffects-MouseOverExpand="True"
IconBackgroundColor="ActiveBorder"
MenuBorderWidth="0"
MenuBarHeight="20"
IconWidth="23"
MenuItemHeight="20"
SelectedColor="LightBlue"
BackColor="White"
ForeColor="#666666"
MenuEffects-MenuTransition="AlphaFade"
SelectedForeColor="White"
ForceDownlevel="False"
ShadowColor="Gainsboro">
</cc1:SolpartMenu>
3、 制作XML文件,并以ycfcMenu.xml为文件名保存在当前目录下。
在制作XML文件时,需要注意三点:
(1)菜单项的定义必须以根元素<root>开始,以</root>结束。
(2)XML文件中每个标记都必须成双成对地出现,即有开始标记同时必须有结束标记。
(3)每个菜单项(menuitem)都有一个唯一的ID值,它可以由字母、数字或字母与数字的组合构成,但绝对不能重复。
XML文件(ycfcMenu.XML)全部内容如下: