LineShape zur Laufzeit ergänzen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    LineShape zur Laufzeit ergänzen

    Hallo, ich versuche Linien (also LineShapes aus dem PowerPack) zur Laufzeit einzufügen. Die Powerpacks hab ich schon importiert und ich kann ein Array mit dem Typ LineShape anlegen. Die Position ist auch schon zugewiesen. Jetzt bekomm ich die Linien aber nicht in meiner Form angezeigt. Bei einem Label mach ich das so:

    Me.TabPage6.Controls.Add(Label(i))

    Leider funktioniert das mit den Linien nicht, weil diese nicht als Control gelten. Wie kann man die Linien jetzt hinzufügen?

    Gruß

    eddi
    @eichseinet Mach sdas mal im Designer und sieh Dir dann an, wie das da gelöst ist.
    Den Code findest Du in der FormX.Designer.vb in der Prozedur InitializeComponents().
    Verstehe das und empfinde es nach.
    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!

    eichseinet schrieb:

    Keine Ahnung wo man das findet.
    Meinst Du, dass das der richtige Ton ist, wenn man um Hilfe bittet :?:

    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!
    Was heisst denn hier "Ton"? Ich hab lediglich geschrieben, dass ich es nicht finde und mit dem Hinweis nix anfangen kann. Dank Screenshot hab ich erst kapiert, dass ich außerhalb des Pojekts die *.vb Datei öffnen soll und hier den Aufruf finde.
    Ich werd mal versuchen, ob das dann klappt.

    Danke jedenfalls.

    GRuß

    eddi
    Es hat geklappt. Hier ein Beispiel.

    VB.NET-Quellcode

    1. Imports Microsoft.VisualBasic.PowerPacks 'benötigt um die LineShapes im Programm zu verwenden
    2. Dim ShapeContainer2 As New ShapeContainer
    3. Dim Trennlinie_Einstellungen(30) As LineShape
    4. for i = 0 to 10
    5. Trennlinie_Einstellungen(i) = New LineShape
    6. Trennlinie_Einstellungen(i).StartPoint = New Point(15, HöheTrennlinie)
    7. Trennlinie_Einstellungen(i).EndPoint = New Point(1910, HöheTrennlinie)
    8. Trennlinie_Einstellungen(i).BorderColor = Color.White
    9. ShapeContainer2.Shapes.Add(Trennlinie_Einstellungen(i))
    10. next i
    11. Me.TabPage6.Controls.Add(ShapeContainer2)


    Vielleicht hilft das mal einem anderen.

    Danke und Gruß

    eddi

    eichseinet schrieb:

    Was heisst denn hier ...
    4 Minuten Abstand zwischen den Posts bedeutet einfach, dass Du keine Eigeninitiative entwickelt hast.
    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!
    Verstehe das und empfinde es nach.

    Vielleicht musste ich auch einfach so schnell nachfragen, weil in deiner arroganten und schnell dahin gerotzten Antwort nix verständliches drin steht.
    "Öffne mal mit dem Editor die Datei XY aus dem Projejektordner mit dem Editor..." wär doch mal was gewesen, das man versteht.
    Ich hab nämlich versucht in der Programmiersoftware was zu deiner Antwort zu finden. Wie soll ich etwas in Angriff nehmen, wenn ich überhaupt nicht verstehe wo ich loslegen soll.
    Und den Spruch am Ende hätt's Du dir gleich ganz sparen können.
    Meine Eigeninitiative hat immerhin für gut 3h Tests und Googlesuche VOR dem 1. Posting gereicht.

    eddi