Eventhandler til dynamisk menu: Hvordan?
Jeg skal have tilføjet nogle menupunkter ud fra en xml. Selve det at oprette tilføjemenupunkter ser ikke ud til at være et problem, men menupunkter der ikke gør noget er så kedelige ;)Dim image As Image
Dim onClick As EventHandler
image = Nothing
onClick = AddressOf StartProgram
Dim dynmenuitem As New System.Windows.Forms.ToolStripMenuItem("test", image, onClick)
UdtrækToolStripMenuItem.DropDownItems.Add(dynmenuitem)
er noget af en test jeg har lavet. Den del fungerer fint nok sammen med
Sub StartProgram()
ToolStripStatusLabel1.Text() = "ok"
End Sub
Problemet er, at StartProgram() gerne skulle se således ud:
Sub StartProgram(ByVal s As String)
ToolStripStatusLabel1.Text() = s
End Sub
men så fejler det. Har forsøgt at lave en delegate:
Delegate Sub startprogramhandler(ByVal s As String)
men det hjælper jo ikke meget når jeg ikke aner hvordan jeg kan få den i spil.
Men altså, planen er at StartProgram skal kunne modtage en parameter, og dermed være en fælles sub for alle de tilføjede menupunkter, således at der ikke skal rettes i denne kode for at få nye funktioner ind.
PS: Jeg arbejder i VS2008 og VB.Net (targeting v. 2.0)