Mit welcher Windows Forms Klasse kann ich eine Toolbox erstellen

Tikonteroga

Erfahrenes Mitglied
Hallo,

ich möchte mit Windows Forms in einer Form ein der Toolbox von Visual Studion ähnliches Fenster erstellen (siehe Anlage). Darin möchte ich dann eine TreeView anzeigen.

Welche Klasse muss ich hierfür verwenden ?

Vorerst möchte ich nur die Titelleiste und die Scrollbar und den TreeView implementieren.

In einer späteren Version sollte der Anwender das Fenster auch schließen [x] und über den MenuStrip wieder öffnen können. Ausserdem soll es möglich sein dieses Fenster "frei" innerhalb der Form zu positionieren.
 

Anhänge

  • East.PNG
    East.PNG
    23,6 KB · Aufrufe: 20
Zuletzt bearbeitet:
Hi

Was du brauchst, hast du oben alles schon genannt: Eine Form, diese als ToolBox darstellen (siehe FormBorderStyle).

Wenn du dies als einfache Forms nutzen willst ist das alles mit relativ wenig Aufwand machbar.
Falls du aber auch das Docking nutzen willst (wie in VS) rate ich die zum Griff zu einer 3rd Party Library die die entsprechenden Controls liefert. (Infragistrics hat def. eins, ich glaube auch Componente One und auch andere)
 
Hallo,

vielen Dank für die Antwort.

Ich habe das jetzt mal ausprobiert und habe eine weitere Form erstellt und FormBorderStyle angepasst. Nun wollte ich diese "Toolbox" in ein Panel in der Form des Hauptfensters einfügen um die Toolbox im "Westen" anzuzeigen.

Wenn ich die Form jedoch über Controls.Add(...) in das Panel einfüge, erhalte ich eine Exception.

Wie kann ich die Toolbox in meiner Form (links) anzeigen ?
 
Hallo,

Wenn du eine Form verwendest kannst du das Control nicht in einem anderen Fenster einhängen, sondern es läuft als eigenens Fenster.
Wie schon Nico oben geschrieben hat ist es nicht ganz einfach sich selbst ein System wie in Visual Studio zu schreiben, ich empfehle dir daher, falls du sowas wirklich willst, die verwendung einer Library die das schon kann.

Infragistrics hat def. eins, ich glaube auch Componente One und auch andere
 
Hallo,

ich möchte keine externe Library verwenden.

Ich habe es jetzt auch hinbekommen, eine ToolBox in ein Panel einzufügen.

Ich hätte jetzt nocht eine Frage. Ich möchte mein Hauptfenster ähnlich dem BorderLayout in JAVA aufgaben (siehe Anlage).

Ich würde das nun durch die Panels northPanel, westPanel, centerPanel, eastPanel und southPanel realisieren.

NORTH: Enthält den MenuStrip und den ToolStrip, hat die Höhe von MenuStrip + StatusStrip und ist links, oben und rechts in der Form angedockt.
SOUTH: Enthält den StatusStrip, hat die Höhe des StatusStrip und ist links, unten und rechts in der Form angedockt.
WEST: Enthält eine ToolBox, hat eine feste Breite und ist links an die Form angedock, unten an das SOUTH-Panel und oben an das NORTH-Panel
EAST: Enthält eine ToolBox, hat eine feste Breite und ist rechts an die Form angedockt, unten an das SOUTH-Panel und oben an das NORTH-Panel
CENTER: Ist an die anderen Panels angedockt.

Ist dies eine gute Lösung oder würdet ihr das anders lösen ?
 

Anhänge

  • Layout.png
    Layout.png
    4,5 KB · Aufrufe: 4
Zuletzt bearbeitet:
Hallo,

ich hätte zum Thema noch eine weitere Frage. Ich hab eine Form in ein Panel eingefügt. Was muss ich den einstellen, dass sich die Form an die Größe des Panels anpassen kann. Ich habe erst versuch bei der Form die eigenschaft Dock zu verändern, aber die ist leider nicht vorhanden :(
 
Hallo,

ich habe bei der Form, die ich innerhalb des Panels anzeigen möchte, die Eigenschaft TopLevel mit false initialisiert bevor ich die Form über Panel.Controls.Add() zu dem Panel hinzugefügt habe.

Nun habe ich aber noch das Problem, dass die Form sich nicht an die Ränder des Panels andockt. Wie kann ich das möglichst elegant erreichen, ohne die Size in einem Event anpassen zu müssen ?

Gruß
 
Hallo,

ich bin jetzt von dem Vorhaben abgekommen, die Form als ToolBox in meine Form zu integrieren.

ich möchte nun einfach eine TreeView in das Panel auf der linken und rechten Seite einfügen (siehe #6).

Wie kann ich es denn realisieren, dass ich an der Grenze zwischen WEST und CENTER sowie CENTER und EAST die Breite der angrenzenden Panels durch ziehen mit der Maus verändern kann ?
 

Neue Beiträge

Zurück