Question

I want to make a Custom Windows Forms menu. Now, when I say "menu", I mean where the "Exit", "Maximize" and the "Minimize" icons are. I have seen in Microsoft Office software that Microsoft have done a custom WinForms Menu, and in many other software. I have done research for months, and searched so much and have not found anything! I have, found some companies which are currently selling Component Packages with Visual Basic, C# and Visual C++ components, however I do not have the money to buy one of these packages, therefore I need help making a custom Windows Form menu.

I would like to make a Custom Windows Form Menu as a "Ribbon" type. So, It will have a "Ribbon Form Menu". However, I do not wish to use any products or packages to do this for me, seen as I don't have money for them.

I have tried a number of ways for creating a Custom Form Menu:

  • Used a ToolStrip docked to the top of the form, and set the property of "Left to right" to True, and used buttons or labels for the "Exit", "Maximize" and "Minimize" buttons, although, this isn't really ideal, and I don't really want that anymore.

  • Used buttons at the top of the Form and docked a panel behind it to made it look like a custom form, but again, this isn't really ideal either.

Anyway, please can someone help me make a custom Windows Forms Menu? It would be nice if you could help me make it in the "Ribbon Style" too!

Please note this post is aimed at the Visual Basic Programming language.. I am using Visual Basic! :D

Thanks.

Was it helpful?

Solution

You have a few options, Firstly you can extend the ClientArea into the NonClientArea and you would end up with something like: http://www.codeproject.com/Articles/44235/Painting-Vista-s-Aero-NonClientArea-in-VB-NET

After doing some digging i found a .net wrapper for the windows 7 ribbon control, I haven't tried using it yet but you might be able to make it work: http://windowsribbon.codeplex.com/

Alternatively you can create it all from scratch, setting the FormBorderStyle to None and handling the moving/re-sizing etc by your own code. As well as painting the Ribbon-like controls yourself.

The latter is a lot more work but is the most customizable, I hope this is helpful and gets you on the right track!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top