ToolStrip auf ToolStripContainer festlegen



  • Hy leite...

    Kann ich einen ToolStrip auf einen ToolStripContainer festlegen?

    Meine beobachtung:

    Ich habe mehrer Controls auf einem Formular. 2-3 davon haben einen ToolStripContainer. Und wenn man nun ein Toolstrip in einen anderen Container zieht wird er da eingeordnet 😮

    Kann man das irgentwie unterbinden?

    hab schon gegooglelt, aber warscheinlich geb ich die suche falsch ein 🙄


  • Administrator

    Mir ist nicht bekannt, wie man das auf einfache Art und Weise erreichen kann, also z.B. durch das Setzen eines Property-Wertes. Es gäbe aber die Möglichkeit, den Benutzer daran zu hindern, dass er den ToolStrip in einen anderen Container überhaupt ziehen kann. Das würde auch noch etwas Feedback zurückgeben.

    Bei ToolStrip gibt es die beiden Events BeginDrag und EndDrag . Wenn du diese Events abbonnierst und dann im BeginDrag die Bildschirmkoordinaten des ToolStripContainers holst, dann könntest du die Maus in diesen Bereich einsperren. Bei EndDrag entsperrst du die Maus wieder, in dem du den alten Wert wiederherstellst.

    Zum einsperren verwendest die oben verlinkte Eigenschaft Cursor.Clip . Lies die Dokumentation dazu und vergiss nicht, den alten Wert zu speichern und zurückzusetzen. Um an die richtigen Werte für Cursor.Clip zu kommen, kannst du ToolBarContainer.Bounds verwenden. Auf dem Parent-Control von ToolBarContainer kannst du dann PointToScreen verwenden, um diese Koordinaten in Bildschirmkoordinaten umzuwandeln.

    Grüssli



  • hey, danke...

    da hätte ich auch selber drauf kommen können. ich habe so etwas ähnliches schonmal gemacht


Anmelden zum Antworten