Frequently Asked Questions (FAQs)
What is skmMenu?
skmMenu is an open-source, custom ASP.NET server control that renders a menu in
the client's browser. skmMenu is easy to use and allows for a high degree of
customization. To see skmMenu in action, just look up a bit - the menu at the
top and left of each page on the Web site are generated using the latest
version of skmMenu. There are also some examples you
can check out...
Who is behind skmMenu?
skmMenu was originally created by
Scott Mitchell, although other developers have contributed. Robert
Vreeland is also a main contributor. Be sure to check out the
Contributors page to see all developers who are involved in skmMenu.
What version of ASP.NET does skmMenu work with?
skmMenu has been tested in ASP.NET Web sites that use the .NET Framework 1.0 and
1.1. The skmMenu binary download was compiled using Visual Studio .NET 2003, so
it will only run in the .NET Framework 1.1. If you need to support skmMenu on a
Web site running the .NET Framework 1.0, you will need to download
the skmMenu source code, create a new project in Visual Studio .NET
2002, copy over the files, and compile.
I am using Visual Studio .NET 2002 - how do I get started with skmMenu?
skmMenu can be downloaded in one of two flavors - as a stand-alone binary (the skmMenu.dll
assembly), or as a source-code project. The compiled binary is compiled for the .NET Framework version 1.1 and
was compiled using Visual Studio .NET 2003.
To use skmMenu on a Web site using the .NET Framework version 1.0, you will need to donwload the
source code version and compile it with Visual Studio .NET 2002. To accomplish this, do the following:
- Download the skmMenu source code download,
- Create a new Visual Studio .NET 2002 project of type C# / Web Control Library,
- Manually add in the downloaded
.cs and Menu.resx files into
the VS.NET 2002 project. (The easiest way to do this is to right-click on the project in the
Solution Explorer and choose Add Existing Item, and select the applicable files.)
- Next, you'll need to make sure the References folder has the following references:
- System
- System.Data
- System.Design
- System.Drawing
- System.Web
- System.XML
You can add these by right-clicking on the References folder in the Solution Explorer
and selecting the references from the listbox.
- Build the project (go to the Build Menu, select Build Solution).
(For skmMenu 2.0: At this point you might get a compile-time error on line 148 in
MenuItem.cs with regards to the Browsable attribute. You can simply strike the
Browsable attibute altogether - this will be removed from future releases. (Realize this line
does not cause an error when building in VS.NET 2003.)
At this point you should have been able to successfully compile the project, resulting in
a skmMenu.dll assembly.
What is the structure of the XML document that is bound to skmMenu?
A common way of specifying the structure of skmMenu is to bind an XML document
to the menu control. To learn the precise structure of this XML document, refer
to Examining the XML Structure.
How can I display an arrow next to menu items with a submenu?
You may have noticed that here on skmMenu.com the menu items with submenus in the Examples menu display
little triangles next to those menu items that have submenus. There's no built-in property in skmMenu to
achieve this affect, and creating such a property would be difficult because the color, size, and position of
the triangle depends on a number of factors (font-size, menu colors, etc.).
If you are using images to display each menu item, simply edit the image to have a triangle off to its right.
If you are using text for each menu item try the following (these are the steps I used to have the triangle
here on skmMenu.com):
- Create the triangle graphic. I have absolutely no artistic skills or software if you couldn't guess. The
triangle I created was done using Windows Paint and IrFan View.
- To have the image appear to the right of the menu text, set the menu item's
LeftImage property
to the URL of the image. Next, set the LeftImageAlign property to right. You can do
this either dynamically when building up the menu, or through the static XML file.
You can see the XML file for the top menu here on skmMenu.com at http://skmmenu.com/menu/MenuData/HeaderMenuData.xml.
Check out the "General Examples" menu item to see how I used the <leftimage> and <leftimagealign>
elements to achieve this effect. (For more information on the legal elements in the XML file, refer to the FAQ
What is the structure of the XML document that is bound to skmMenu?)
|