Laden...

toolstrip --- schaltfläche hinzufügen/entfernen

Letzter Beitrag vor 17 Jahren 7 Posts 4.110 Views
toolstrip --- schaltfläche hinzufügen/entfernen

Hallo Community,

kann mir jemand erklären wie ich diese Button ähnliche Fläche in einem Toolstrip bekomme, wo mit man einzelne toolstrip schaltflächen entfernen oder hinnzufügen kann?

Bild siehe unten...

Grüße,
Mazo

moin

???

erstellen löschen ich weiß jetzt nicht was weinst

mfg

das einzige ich jetzt wüßte diese 4 punkte am anfang zum verschieben

edit habs gefunden habe aber leider trotzdem keine ahnung ausser das ein toolstripsplitbutton ohne bild sein könnte

Hi Blackcoin,
ich hab es bereits mit einem tollstripsplitbutton probiert allerdings bringt das nicht die gewünschte Wirkung...
die Schaltfläche um die es geht sollte im Bild zu sehen sein,
ist das Bild überhaupt da?
Ich hab es Sicherheitshalber noch einmal im Anhang...

Du könntest von der Klasse ToolStripButton / ToolStripItem ableiten und bei der OnPaint Methode etwas anderes Zeichnen und neue Verhaltensweisen hinzufügen / verändern.

Im schlimmsten Fall machst ein UserControl und fügst es über Controls.Add oder UserControl.Parent = ToolStrip oder durch SetParent hinzu.

Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(

hmm...
die onpain Methode könnte man natülich überschreiben allerdings müsste es doch noch eine einfachere Lösung geben da in jeder simplen Windowsanwendung dieser Button zufinden ist...
Ich werd es trotzdem mal mit der onpaint Methode versuchen.

Danke Andreas.May für die Idee

also hier sind einzelne schritte, die man tunn mus um das zu erreichen. (alles aus dem kopf, sorry, wenn etwas vergessen habe)

=== Im ToolStrip ===

  1. beim letzten button in ToolStrip ("Hinzufügen oder Entfernen") setzt du die Eigenschaft Overflow auf Always
  2. packst auf dein Form ein ContextMenuStrip rauf.
  3. weist das ContextMenu der DropDown-Eigenschaft des "Hinzufügen"-Buttons (aus Punkt 1.)

=== Beim Context Menu (aus Punkt 2) ===

  1. ShowCheckMargin = true
  2. Im Openning Event: Löscht du zuerst die alten Itens im Contextmenu
    und dann für jeden Button in ToolStrip fügst du ein MenuPunkt zu deinem Contextmenu. Dabei muss du berücksichtigen, ob Button im ToolStrip visible ist, dann ein Häckchen in dem neune MenuItem setzen.
  3. Im Closing Event: wenn CloseReason eoin Klick auf ein Menupunkt ist, dann canceln (e.Cancel = true_;_)
  4. im ItemClicked Event: guckst du welchen MenuItem der User gecklickt hat und suchst dazu der Button aus dem ToolStrip und setzt dessen Visible-Eigenschaft entsprechend auf false oder true;

so ungefähr 🙂

tschu..

P.S. bei windowsforms.net gibt es ein demo programm in c# - Outlook Clone. ein blick drauf lohnt sich 😉

Ich hab es mal so probiert wie du beschrieben
und es funktioniert!!!👍

Danke Xqgene