MRU Menu Class
MRU Menu class is basically an ArrayList that will automatically populate a MenuItem in a MainMenu control. It will display the 5 most recent entries and exposes a Click event for you to respond to. You can also save the list to a file with the provided properties.
Introduction
I am currently working on a couple of programs which need a Most Recently Used files list in the MainMenu
. Instead of coding this into each application, I decided to create a reusable class to handle this task for me.
Now, after adding the class to my project, all I have to do is add new file paths as needed, and the MruList
class adds the appropriate file paths to the MenuItem
I specified.
Declarations
The following needs to be declared to initialize the MRU list:
Public WithEvents theList As CjsDen.MruList
We need to add the initialization of the list to the form's load
event:
Private Sub Form_Load(ByVal sender As Object,_
ByVal e As System.EventArgs) Handles MyBase.Load
'we need to initialize the mrulist in the forms load event
theList = New CjsDen.MruList(mnuFileRecent)
End Sub
We also need to add code to handle the MruList
's click event:
Public Sub MruFileOpen(ByVal mruPath As String)_
Handles theList.mru_click
'Add code to handle here
'mruPath returns the string of the clicked menuItem
'no matter which one is clicked
End Sub
How to Use the MRU List
Now, all we have to do is add file paths to the MRU list:
theList.AddNewFile("c:\myDocument.txt")
If you want to save the list, you can access it with any of the following properties:
MruListArray
MruPath1
MruPath2
MruPath3
MruPath4
MurPath5
Conclusion
This is a very simple way to automate adding a MRU Menu into a number of projects quickly. I have looked this over several ways and have come across no side effects, but if you find anything buggy, let me know.