

OpenFileDialog1.InitialDirectory = "C:\TEMP" Private Sub OpenToolStripMenuItem_Click( ByVal sender _ Listing 1: Click Open, select a file, and create a dynamic sub-menu off of the Recent Files menu. When you Open the file, it is read into a TextBox and a dynamic menu is created.įigure 1: A simple text browser containing a multi-line TextBox and a MenuStrip.
#VB NET HANDLING MENUSTRIP CLICK EVENT CODE#
The code in Listing 1 is plain old vanilla VB.NET code behind a simple form with a File menu, an Open sub-menu, and a Recent Files sub-menu (see Figure 1). The basic behavior is to open a file and create a dynamic sub-menu with the name of the file and add that menu to the MenuStrip. Even Visual Studio tracks open files and projects in “recents” menus. ~wink~ Creating a Recent Submenu with the MenuStrip
#VB NET HANDLING MENUSTRIP CLICK EVENT HOW TO#
If you already know how to do all of these things, I won’t mind if you wait for the next article. It’s also cooler and better housekeeping.

After the half-it is football season after all-the dynamic menu is added to a Command class, making the use of this technique a matter of importing the command class in any future application. If you know how to do that, I encourage you to read the article anyway. In this article, I will show you how to dynamically add ToolStripMenuItems to a MenuStrip. The MenuStrip is like a menu, but if you want to add a sub-menu it’s not as easy as invoking Add with an instance of a menu item. For example, if I have a Menu and it has a collection of element-like sub-menus, I am going to look automatically for a collection property and an add method. Re-inventing the wheel makes sense if you go from a rock wheel to a rubber one, but like things are easier to adopt when they are new if they are used like similar things that exist. I am not just talking about patterns like the Gang of Four GoF patterns I mean simple ways that things work too. Patterns are something we can get familiar with, consequently making like-things anticipatable and easier to use.
