Laden...

Automatische Formerstellung beim TreeView

Erstellt von Elektra vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.318 Views
E
Elektra Themenstarter:in
3 Beiträge seit 2006
vor 17 Jahren
Automatische Formerstellung beim TreeView

Hy ihr,

bin ganz neu hier und habe lange gezögert mich überhaupt anzumelden, da ich ein absoluter Neuling bin und meine Fragen sich für euch wahrscheinlich pobblig einfach und blöd anhören werden. Hoffe ich bekomme trotzdem ein paar Antworten von euch.

Folgendes Problem: Ich möchte ein TreeView in ein Programm einbauen. Natürlich soll mit jedem Ordner und Unterordner, den ich anklicke auch automatisch ein neues Form geöffnet werden mit weiteren Infos zu dem jeweiligen Ordner, bzw. Unterordner. Tja, soweit zur Theorie, aber wie stell ich das in der Praxis an?

Hoffe ihr könnt mir helfen.

Liebe Grüsse, Elektra.

5.941 Beiträge seit 2005
vor 17 Jahren

Hallo Elektra

Endlich wieder mal eine Frau "on Board" 🙂
Zu deiner Frage:

Ich stelle zuerst mal eine Gegenfrage: Was hast du schon?
Möchtest du wirklich bei einem Klick auf eine TreeNode, ein neues Fenster aufmachen?

Normalerweise ist das so, dass man z.B. ein ListView mit spezifischen Daten füttert, anhand der angeklickten Node. Also eigentlich wie im Windows Explorer.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

E
Elektra Themenstarter:in
3 Beiträge seit 2006
vor 17 Jahren

Hallo Peter,

danke für die schnelle Antwort. Ein ListView nützt mir leider nicht viel. Ich brauch wirklich ein neues Form. Hab gedacht, das gibts automatisch beim TreeView, so wie im TabControl. Da kann ich ja auch jeweils auf den Registerkarten meine Icons reinziehen.

Ich brauch das so in etwa, wie auf der Siemens Mall Automation:

https://mall.automation.siemens.com/DE/guest/index.asp?aktprim=0&lang=de&nodeID=5000059&foldersopen=-1103-1104-1105-1106-1169-1211-1214-&jumpto=1214

Links der TreeView und rechts dann Infos und Bilder zu diesem Ordner, die ich jedoch auch immer spezifisch selbst eintragen kann.

Gruss, Elektra

2.223 Beiträge seit 2005
vor 17 Jahren

moin und herzlich willkommen

du mußt doch nur das clickevent des jeweiligen Nodes reagieren

und darin

natürlich in abhängigkeit von deinem knoten


Form form = new Form();
Form.Show();

auch wenn ich nicht denke das dies von nöten ist

ich würde mir ein panel erstellen in den ich alle möglichen Infos anzeigen kann + den tree
dieses panel bleibt immer sichtbar
die Daten dazu kommen aus einer datenbank
und die Daten werden immer nur ausgetauscht
mfg

5.941 Beiträge seit 2005
vor 17 Jahren

Hallo Elektra

Auf deiner beschriebenen Seite ist das aber keine "Form", sondern eher ein Tabcontrol.

Also entweder mit einem Panel oder einem Tabcontrol arbeiten.

Gruss Peter

--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

95 Beiträge seit 2006
vor 17 Jahren

Hi Elektra,

das hört sich nach einer MDI-Anwendung an 😉

Ich würde es auch so machen wie blackcoin beschrieben hat.
Nur stellt sich die Frage, ob du bei einem Click immer die selbe From, oder eine neue Instanz der betreffenden Form erstellen willst.

Im ersten Fall würde ich den Knoten im TreeView als Property in der gestarteten Form speichern. Dann kannst du im Activate des Forms auch den zugehörigen Knoten aktiv setzen.

Im zweiten Fall würde ich eher einen Doppelclick bevorzugen.
In diesem Fall benötigst du auch eine Möglichkeit zwischen den offenen Fenstern zu navigieren, z.B. ein Fenster-Menü.

Ist alles ein wenig allgemein gehalten, aber vielleicht nützt es dir ja was, ansonsten musst du halt konkreter werden...

Walter

Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)

E
Elektra Themenstarter:in
3 Beiträge seit 2006
vor 17 Jahren

Hy ihr,

danke für eure Antworten. Sorry, dass ich mich solange nicht gemeldet hab. War letzte Woche ziemlich im Stress. Aber jetzt gehts mit neuer Energie weiter. 🙂

Komm leider immer noch nicht weiter. Ihr habt jedenfalls Recht, dass immer ne neue Form keine gute Lösung ist. Ich brauch den TreeView eigentlich links immer fest gespeichert und mit jedem Node den ich öffne sollte sich ein neues dazugehöriges Panel rechts öffnen. Aber ich bekomm das irgendwie nicht hin. Wie beziehe ich mich denn auf jedweils nur ein node? Kann mich nur auf den gesamten TreeView beziehen oder auf alle Nodes auf einmal.

Thanks, Elektra.

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Elektra,

TreeView
TreeView.Nodes
TreeNode

herbivore

-
885 Beiträge seit 2004
vor 17 Jahren

Hallo Elektra,

ich bin mir gaaaaanz sicher, dass du hier im Forum über die Suche so einiges Interessantes finden wirst. Das Thema gab es schon öfter 😉