2009-02-26 4 views
2

in VS 2008, ich versuche, ein Windows-Formular, das einem Satz von Eigenschaftenseiten ähnelt, aber ein TreeView verwendet, um die Seite anstelle eines TabControl auszuwählen. Ein Beispiel für dieses Design ist der Dialog Optionen in VS 2008 selbst. Es gibt zwei Gründe, warum ich das machen möchte: 1. Ich bevorzuge das Aussehen und Gefühl; 2. Ich möchte Benutzern die Möglichkeit geben, dem TreeView Kindknoten hinzuzufügen.wie mit mehreren übereinstimmenden Panel-Steuerelementen in VS 2008 Windows Forms arbeiten

Ich verwende mehrere Panel-Steuerelemente, um die Steuerelemente für jede "Eigenschaftsseite" zu enthalten. Diese Tafeln werden alle in der Form zusammenfallen, d. H. Einander überlappen. Ich finde, dass der VS-UI-Designer nicht sehr benutzerfreundlich ist, wenn ich dies tue; Ich kann jedes Panel leicht genug auswählen, aber alle Bedienelemente innerhalb des Panels sind gleichzeitig sichtbar, was zu einem Durcheinander führt. Die Arbeit mit einem TabControl ist viel einfacher, da Sie eine Registerkarte auswählen können und nur die Steuerelemente sehen, die Sie auf dieser Registerkarte platziert haben.

Gibt es einen anderen Ansatz, der mir das erleichtert, oder muss ich mit einem TabControl auskommen? TIA

Antwort

2

Um ein ähnliches Verhalten wie die TabControl zu bekommen, wo jeder Reiter eine anderen Designer Leinwand gibt, auf den Kontrollen zu platzieren, müssen Sie ein designer for your control schreiben, die die tabbing Interaktion, wenn in dem Formulardesigner zur Verfügung stellt. Wenn Sie dies jedoch vermeiden möchten, können Sie den Ansatz verwenden, den wir in einer ähnlichen Situation verwenden, und jede Registerkarte als eigene UserControl definieren und sie dann als Registerkarten im Konstruktor des Hauptreglers für Registerkarten hinzufügen.

Damit können Sie jede Registerkarte individuell gestalten und so das Problem der Überlappung vermeiden.

+0

Ihr zweiter Vorschlag ist perfekt, danke. – GentlemanCoder

+0

Immer glücklich zu helfen :) –

Verwandte Themen