Multi Form/Bereiche austauschen/...

04/15/2014 12:37 Andreas9#1
Hallo Com.,
ich möchte eine Anwendung schreiben bei welcher man wenn man im Menü etwas anklickt der Content Bereich ausgetauscht wird.

Ich habe eine neue Form erstellt(Form2) und habe diese nun als Objekt erzeugt und dargestellt.
PHP Code:
        private void button1_Click(object senderEventArgs e)
        {
            
Form2 fenster2 = new Form2();
            
fenster2.ShowDialog();
 
        } 
natürlich erscheint nun ein neues Fenster, wenn man auf den Button klickt:(.
Was ich aber ja möchte ist, dass der Inhalt meiner Anwendung per Menüpunkte klicken - ausgetauscht/verändert wird.


Also kein neues Fenster, dass sich separat öffnet... . Ich habe mit C# erst angefangen und im Vergleich zu den Websprachen ist hier schon einiges anderst:D. Da fängts schon damit an das man überall den Datentyp festlegen muss ob nun string,int, oder sonstwas.
Stört mich weiter nicht und damit zurück zu meinem Problem:rolleyes:.

Eventuell kann mir wer, der sich damit auskennt, kurz ne Antwort geben wie man das am besten umgesetzt bekommt.
04/15/2014 13:37 Shawak#2
Schau dir mal das TabControl ab.
04/15/2014 13:46 Andreas9#3
tabs kenn ich aus der webentwicklung - ich möchte aber keine tabs sondern wircklich dynamisch ausgetauschte inhalte in einem bestimmten Bereich(der Content Bereich)
04/15/2014 14:24 'Heaven.#4
Du kannst btw einfach var x = 0; schreiben, also implizite deklarationen nutzen

Denke das passende für dich wäre n UserControl oder ein Panel
04/15/2014 15:22 Andreas9#5

#Edit:
Weiß jetzt für was var steht, habs mir schon richtig gedacht:
Mit der Version 3.0 hat Microsoft in C# das Schlüsselwort var eingeführt. Es erlaubt dem Entwickler das Deklarieren einer Variablen, ohne ausdrücklich deren Typ angeben zu müssen.


Hat wer zu dem User Control und Panel Zeug n Link, wo es eventuell mit nem Beispiel erklärt wird - ich such daweil selbst noch?

Wenn wem noch was anderes/besseres einfällt wärs natürlich klasse! :D
04/15/2014 16:53 'Heaven.#6
04/15/2014 19:31 Mostey#7
Quote:
Originally Posted by Andreas9 View Post
Wenn wem noch was anderes/besseres einfällt wärs natürlich klasse! :D
WinForms sind recht limitiert. Wenn das geht, dann nur mit deutlich mehr Aufwand. Trägt natürlich auch alles zum bisherigen Spaghetti Code bei.

Schau dir WPF als Framework mal an, sobald du dich etwas eingelebt hast. Da hast du die Möglichkeit, eigene Controls zu erstellen und zu modifizieren. Ein Panel das Controls nach belieben ändern kann, wäre da mit Leichtigkeit drinn.
04/16/2014 09:09 Andreas9#8
Mostey, dass klingt ja echt gut. Hast du eventuell auch dazu ein Beispiel?
Bei welchem man ein Panel erstellt das Controls nach belieben ändern kann.

und danke Waka Toa - werde das jetzt erstmal testen, mit Windows Form.

Wpf, Windows Presentation Foundation, klingt kompliziert - eventuell ja komplizierter als es am Ende ist.
04/16/2014 09:12 .Marcel'#9
Quote:
Originally Posted by Andreas9 View Post
Mostey, dass klingt ja echt gut. Hast du eventuell auch dazu ein Beispiel?
Bei welchem man ein Panel erstellt das Controls nach belieben ändern kann.
Am besten du schaust dir zu nächst einmal das WPF Framework an, und wie es Funktioniert, ist ein wenig anders als die normalen WindowsForms.
04/16/2014 09:51 Mostey#10
Quote:
Originally Posted by Andreas9 View Post
Mostey, dass klingt ja echt gut. Hast du eventuell auch dazu ein Beispiel?
[Only registered and activated users can see links. Click Here To Register...]

Quote:
Originally Posted by Andreas9 View Post
Wpf, Windows Presentation Foundation, klingt kompliziert - eventuell ja komplizierter als es am Ende ist.
Eigentlich nicht. Web Entwickler werden es durch das Designmarkup vermutlich etwas einfacher haben, wie normale Desktop Entwickler. Wenn es um WPF geht, wird man häufig mit dem MVVM Pattern konfrontiert. Das ist für die Abstraktionsfähigkeit ziemlich bekannt und besitzt daher die Funktion, Interaktionslogik und Design zu trennen. Dort nutzt man für das Design das XAML Markup. Funktioniert ähnlich wie sonst auch alle Markup Sprachen und ist dementsprechend rein deklarativ.

[Only registered and activated users can see links. Click Here To Register...] stellt einen recht guten Übergang vom WinForms Framework zu WPF dar. Lesen lohnt sich.
04/16/2014 10:15 Andreas9#11
ist es von der Performance besser, oder ist es einfacher zu verwalten, oder leichter zu verwenden - kurz gesagt bei einer Windows Form Anwendung ist es wircklich simpel eine zweite Seite anzulegen. Aber was ist der Vorteil an Wpf´s, sprich wieso würdest du sagen das es sich lohnt sich mit Wpf´s zu beschäftigen?

Deine zwei Links werde ich mir natürlich, später, noch genauer ansehen.
04/16/2014 10:50 Mostey#12
Quote:
Originally Posted by Andreas9 View Post
ist es von der Performance besser, oder ist es einfacher zu verwalten, oder leichter zu verwenden - kurz gesagt bei einer Windows Form Anwendung ist es wircklich simpel eine zweite Seite anzulegen. Aber was ist der Vorteil an Wpf´s, sprich wieso würdest du sagen das es sich lohnt sich mit Wpf´s zu beschäftigen?

Deine zwei Links werde ich mir natürlich, später, noch genauer ansehen.
Ich selbst habe bisher in der Vergangenheit nicht sehr viel mit C# zutun gehabt, habe da eher mehr mit C++ gemacht. Mittlerweile benötige ich allerdings ne GUI und da greift man eben, wenn es um Windows geht, häufig zu C#. Das Framework spielt ne große Rolle weil du die App später auch mal warten und erweitern möchtest. Wem bringt die App etwas, wenn keiner mehr deinen Spaghetti Code entziffern kann? Das ist beim WinForms Framework leider immer der Fall und es gibt wirklich extrem wenige, die es schaffen, Spaghetti Code in diesem Framework zu vermeiden.

Grundsätzlich gibt es auch einen sehr entscheidenden Nachteil: Die Anpassfähigkeit und Individualisierung. Nahezu jede WinForm sieht gleich aus, sie sind langweilig und sind meistens dazu auch noch sehr hässlich. In WPF hast du die Möglichkeit, jedes Control einzelnd anzupassen. Die Hintergrundfarbe, Vordergrundfarbe, Ränder, Effekte, Form sowie die "Hover" und "Selected" Farben und vieles mehr. Sollte dir sicher als Web Entwickler bekannt vorkommen. Zusätzlich ist es sogar möglich, das Verhalten komplett zu ändern.

Ich sehe keinen Grund, warum man WPF nicht nutzen sollte. Ich bin zurzeit dabei mich ebenfalls mehr mit WPF zu beschäftigen und plane, meine alten Programme zu portieren weil die Vorteile (für mich) einfach überwiegen.

Zur Performance kann ich dir nichts sagen, vom Gefühl her würde ich allerdings behaupten, das WPF leicht schneller ist und geschmeidiger rüberkommt, wenn es um Interaktion mit den Controls geht. Ist aber wirklich kein signifikanter Unterschied.

Auch hast du mit WPF deutlich mehr Aufwand, den du aber auf der anderen Seite wieder ausgleichen kannst, da bei WinForms die aufwendigen Sachen meistens nur mit einem kleinen "Hack" laufen, während WPF das direkt unterstützt.

Zusätzlich empfehle ich [Only registered and activated users can see links. Click Here To Register...] als Framework für WPF wenn du die Grundprinzipien verstanden hast.

Näheres dazu aber im Artikel. ;)
04/16/2014 11:51 tolio#13
Quote:
Originally Posted by Mostey View Post
Nahezu jede WinForm sieht gleich aus, sie sind langweilig und sind meistens dazu auch noch sehr hässlich.
ich finde das ist kein valides argument, denn bei den aller wenigsten programmen interessiert das jemanden, ein programm soll funktionieren und nicht schön oder einzigartig aussehen
04/16/2014 12:06 Mostey#14
Quote:
Originally Posted by tolio View Post
ich finde das ist kein valides argument, denn bei den aller wenigsten programmen interessiert das jemanden, ein programm soll funktionieren und nicht schön oder einzigartig aussehen
Bist du dir da sicher? Ich habe bisher nur die Erfahrung gemacht, das Programme auch optisch etwas hergeben müssen. Vorallem wenn es darum geht, später mal kommerziell etwas zu erstellen. Das wäre ja wie wenn große Firmen oder Spieleentwickler ihre Webseiten ohne JavaScript und dergleichen präsentieren würden. Eben komplett plain. Es ist nicht unbedingt schlecht, trotzdem würde ich wetten, das viele dann zu anderen Spielen greifen.

Ich selbst präferiere eigentlich auch eher Anwendungen, die optisch gut und anschaulich gestaltet sind.

Natürlich steht die Funktionsweise trotzdessen im Vordergrund.
04/16/2014 12:24 tolio#15
webseiten sind außendarstellung, da muss immer alles schön und glänzend sein. genau wie werbung. aber ein produkt ist eben nicht werbung sondern das produkt und muss deswegen das können was es verspricht. die winform controls sind einfach funktional und tun was sie sollen.

es ist nicht so das ich sagen würde man sollte kein wpf nutzen, aber wenn nachher die hälfte der entwicklungszeit für gui draufgeht dann läuft irgendwas falsch, einfach die fertigen controls drauf und gut ist.