Why another MenuControl?
The .NET Framework contains a wide range of user interface controls, but they
offer only a basic look and feel. Today's user expects a richer experience that
you just cannot build with the out-of-the-box controls. The Magic Library (of
which this MenuControl is a major part) aims to solve this by providing a set
of user interface elements that add the sophistication expected from modern
Windows applications.
Downloads
The first download MenuControl Sample
contains a example application
that uses shows the MenuControl from the Magic Library. This allows you to
experiment and test out the feature. The actual source code is inside the
separate second download. At nearly 1MB in size, I thought people would prefer
to download the sample before deciding if they want to install the entire
source code project!
Description
The usual way to create a menu for your application is via the
Menu
property
of your applications main
Form
. Unfortunately this gives a very basic
look and feel and does not support the new Visual Studio .NET appearance.
This is where the MenuControl
class comes into its own as it closely
mimics the Visual Studio .NET look and feel. Not only that, but you can create
as many instances as you like and place them anywhere on your Form
. You
can even use the Dock
property to place the control against the left/right and bottom edges as well
as the traditional top position. When placed on the left or right edges it will
draw the menu items vertically.
When using the control within an MDI application it is important that exactly
one instance of the MenuControl
uses the MdiContainer
property.
This property should be given a reference to the MDI parent Form
so that
it can correctly display the pendant for MDI child Forms
.
MenuCommand Instances
The control exposes a property called
MenuCommands
that contains the
collection of
MenuCommand
instances for display. You cannot use the
builtin menu designer to generate the instances and so will need to use code to
create the structure you need. Look at the sample code to see how this is done.
PopupMenu
Also demonstrated in the sample is use of the
PopupMenu
class that can
be seen by right clicking the
RichTextBox
present inside each MDI child
instance. This shows how to create a context menu using the VS.NET/OfficeXP
look and feel. It uses the same
MenuCommand
instances as the
MenuControl
.
More Details
Download and install the Magic Libary where a couple of more detailed artiles describe
how all the various features of the
MenuControl
and
PopupMenu
work.
Revision History
30 Sept 2002 - Initial Revision
I am a big fan of .NET and have been working on developing a free user interface library to enhance the very basic controls that come out-of-the-box. Download the free source code project from http://www.dotnetmagic.com. I often carry out bespoke development work for companies, so feel free to email me for a quote on your .NET needs!