[RESOLVED] Dynamic Context Menu
I am trying to create a context menu dynamically the problem is I can get the menuItem_Click sub to trigger. Here is my code:
Code:
Private Sub FindVMX(ByVal strPath As String)
Dim oDir As New System.IO.DirectoryInfo(strPath)
Dim oFiles() As System.IO.FileInfo
Dim i As Integer
Dim tmpVar As Integer
Dim SR As StreamReader
Dim DisplayName As String
lstVirtualMachines.Items.Clear()
oFiles = oDir.GetFiles("*.vmx", SearchOption.AllDirectories)
For i = 0 To oFiles.Length - 1
tmpVar = Strings.InStr(oFiles(i).Name.ToString(), ".")
If Strings.Mid(oFiles(i).Name.ToString(), tmpVar) = ".vmx" Then
lstVirtualMachines.Items.Add(oFiles(i).DirectoryName & "\" & oFiles(i).Name.ToString)
End If
Next
ReDim VirtualMachines(lstVirtualMachines.Items.Count)
For i = 0 To lstVirtualMachines.Items.Count - 1
VirtualMachines(i) = lstVirtualMachines.Items.Item(i)
SR = New StreamReader(lstVirtualMachines.Items.Item(i).ToString)
Dim Line As String
Do
Line = SR.ReadLine
If Strings.InStr(Line, "displayName", CompareMethod.Text) > 0 Then
DisplayName = Strings.Mid(Line, 16)
DisplayName = Strings.Mid(DisplayName, 1, DisplayName.Length - 1)
lstVirtualMachines.Items.RemoveAt(i)
lstVirtualMachines.Items.Insert(i, DisplayName)
'Create Context Menu Item
AddContextMenu(DisplayName, 1)
End If
Loop Until Line Is Nothing
SR.Close()
Next
End Sub
Public Sub AddContextMenu(ByVal Text As String, Optional ByVal SubMenu As Integer = 0)
Dim mnuItem As New MenuItem
mnuItem.Text = Text
mnuContextMenu.MenuItems.Add(mnuItem)
If SubMenu = 1 Then
Dim mnuItemStart As New MenuItem()
Dim mnuItemStop As New MenuItem()
mnuItemStart.Text = "Start"
mnuItemStop.Text = "Stop"
mnuItem.MenuItems.Add(mnuItemStart)
mnuItem.MenuItems.Add(mnuItemStop)
End If
Debug.WriteLine(mnuContextMenu.MenuItems.Count)
AddHandler mnuItem.Click, AddressOf Me.menuItem_Click
NotifyIcon1.ContextMenu = mnuContextMenu
End Sub
Private Sub menuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs)
MsgBox(sender.ToString)
End Sub