Toolstripbutton von Formular aus Dll entfernen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RiLo.

    Toolstripbutton von Formular aus Dll entfernen

    Hallo zusammen,

    in einem WinForms-Projekt habe ich eine DLL eingebunden, von welcher ich ein bestimmtes Fensterchen benutze.

    Unter anderem befinden sich auf dieser Form auch ein ToolStrip mit zwei Toolstripbuttons.

    Ich möchte nun gern code-seitig einen dieser zwei Buttons unter bestimmten Umständen entfernen.

    Leider gelingt mir das nicht wirklich.

    Ich habe es zunächst versucht mit: DLLFORM.Controls.RemoveAt(index)

    Dabei wird aber der ganze Toolstrip gelöscht, oder ein anderes Element auf der Form. Die Buttons selbst scheinen keinen Index zu besitzen. (Liegt es daran, dass der Toolstrip eine Art Parent ist?)

    Durch Dekompilieren der DLL bin ich noch an den Namen des Toolstripbuttons gekommen, aber ich weiß nicht ob mir das in irgendeiner Form weiterhelfen kann.

    Vielleicht hat jemand eine Tipp für mich.

    Bevor Fragen aufkommen: die DLL stammt von einem Kollegen und der Quellcode ist leider nicht mehr auffindbar.
    @RiLo Probier mal, das Element nicht zu löschen, sondern unsichtbar zu machen:

    VB.NET-Quellcode

    1. x.Visible = False
    2. ' oder
    3. x.Enabled = False
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo Rod,

    dazu müsste ich das Element aber erst einmal ansprechen können. Auf der Form in der DLL sind die ganzen Elemente doch theoretisch als Private deklariert, oder? So von "außen" bekomme ich nur die Indexe über die ControlCollection.
    Da erschien mir Remove als die sinnvollste, von Intellisense angebotene, Variante.

    RiLo schrieb:

    dazu müsste ich das Element aber erst einmal ansprechen können.
    Was sagt DLLFORM.Controls?
    Da sind die doch drinne.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RiLo Was ist mit

    VB.NET-Quellcode

    1. For Each ctrl As Control in DLLFORM.Controls

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!