vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Alle MainMenus und ContextMenus durchlaufen 
Autor: Maywood
Datum: 26.10.05 17:25

Ja. Das geht auch nicht, da Forms.Menu nicht von Control abgeleitet ist.

Versuchs mal mit der Reflection-API:
 
    Private Function GetAllMenus() As Menu()
        Dim type As Type = Me.GetType
        Dim attr As Reflection.BindingFlags = Reflection.BindingFlags.NonPublic _
          Or Reflection.BindingFlags.Instance
        Dim fld As Reflection.FieldInfo = Nothing
        Dim menus As ArrayList = New ArrayList
        For Each mi As Reflection.MemberInfo In type.GetMembers(attr)
            If mi.MemberType = Reflection.MemberTypes.Field Then
                fld = CType(mi, Reflection.FieldInfo)
                If fld.FieldType().BaseType Is GetType(Menu) AndAlso Not _
                  fld.FieldType() Is GetType(MenuItem) Then
                    menus.Add(fld.GetValue(Me))
                End If
            End If
        Next
        Return CType(menus.ToArray(GetType(Menu)), Menu())
    End Function
 
    Private Sub PrintMenus(ByVal CurrentMenuCollection As _
      MenuItem.MenuItemCollection)
        For Each mi As MenuItem In CurrentMenuCollection
            Debug.WriteLine(mi.Text)
            PrintMenus(mi.MenuItems)
        Next
    End Sub
 
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button3.Click
        Dim myMenus() As Menu = Me.GetAllMenus
        For Each myMenu As Menu In myMenus
            If Not myMenu Is Nothing Then
                Me.PrintMenus(myMenu.MenuItems)
            End If
        Next
    End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Alle MainMenus und ContextMenus durchlaufen879STFX26.10.05 13:53
Re: Alle MainMenus und ContextMenus durchlaufen663Maywood26.10.05 17:25
Re: Alle MainMenus und ContextMenus durchlaufen618ModeratorDaveS26.10.05 17:27
Re: Alle MainMenus und ContextMenus durchlaufen591STFX26.10.05 19:07

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel