Laden...

Visual Studio 2005 ToolBox Clone

Erstellt von Wacky vor 16 Jahren Letzter Beitrag vor 15 Jahren 6.320 Views
Wacky Themenstarter:in
18 Beiträge seit 2004
vor 16 Jahren
Visual Studio 2005 ToolBox Clone

Beschreibung:

Zugegeben, der Titel entspricht nicht ganz dem was hier angeboten wird. Das UserControl, welches ich hier präsentiere ist kein vollständiger Klon der Visual Sutio 2005 ToolBox, sieht aber wenigstens so ähnlich aus.

Ich habe eine ganze Zeit lang nach einer kostenlosen Variante dieses Controls gesucht, aber nichts brauchbares gefunden. Also habe ich mich selbst dran gemacht.
Das Control an sich ist ein ganz normaler (überschriebener) TreeView dessen OnDrawNode Methode die Elemente wie Visual Studio 2005 zeichnet.

Vorschau:

Das Control ist nicht ganz fertig, aber bereits brauchtbar. Was noch fehlt sind erweiterte Tooltips, Elemente umguppieren und das Umbenennen von Elementen.

Im Gegensatz zum normalen TreeView gibt es in diesem Control nur zwei Ebenen; Die Root Elemente und die SubItems darunter.

Root Element hinzufügen:


toolBox.Nodes.Add("Neues Root Element";);

SubItem hinzufügen:


TreeNode newSubItem = new TreeNode("Neues SubItem";);

// In this case SelectedNode is a Root Element
toolBox.SelectedNode.Nodes.Add(newSubItem);

So, den Sourcecode stelle ich euch natürlich zur Verfügung. Lizenz: Public Domain

Update - 03.05.2008:*Bug Fix: Von osre gemeldeter Workaround eingebaut *Bug Fix: Textbox zum umbenennen eines Items war zu lang *Feature: Items können nun Disabled dargestellt werden

Schlagwörter: ToolBox, Visual Studio 2005, TreeView, OwnerDraw

Eventuelle Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.

B
342 Beiträge seit 2006
vor 16 Jahren

Cool, genau sowas habe ich auch schon ewig gesucht und nix Gutes gefunden.
Bei CodeProject gibts zwar Toolboxes, die sind aber nicht so toll.
Werd dein Control zu Hause gleich mal ausprobieren.
Grüße,
Big Al

Da man Spatzen nicht mit Kanonen jagt, sollte man auch nicht mit Computern auf Spatzenhirne losgehen.

Wacky Themenstarter:in
18 Beiträge seit 2004
vor 16 Jahren
Visual Studio 2005 ToolBox Clone

So, hier mal ein kleines Update.. Jetzt mit ToolTips.

Gruß Wacky

Edit: Habe noch schnell das Umbenennen der Nodes eingebaut. Viel Spaß damit! 🙂

Eventuelle Rechtschreibfehler sind beabsichtigt und dienen der allgemeinen Belustigung.

O
1 Beiträge seit 2008
vor 15 Jahren
Bugfix für MouseDown

Wenn man auf das [+] / * Symbol clickt, dann passiert nichts (bzw. expand/collapse wird doppelt ausgeführt.
Folgender fix behebt das Problem.


      protected override void OnMouseDown(MouseEventArgs e)
      {
         TreeViewHitTestInfo hti = this.HitTest(e.X, e.Y);
         if (hti.Node != null && hti.Location != TreeViewHitTestLocations.PlusMinus)
         {
            this.SelectedNode = hti.Node;

            if (hti.Node.Level == 0)
            {
               if (hti.Node.IsExpanded == true)
               {
                  hti.Node.Collapse();
               }
               else
               {
                  hti.Node.Expand();
               }
            }
         }

         base.OnMouseDown(e);
      }

Reinhard Ostermeier.