Entwickler-Ecke
WinForms - Wie baue ich eine Oberfläche vernünftig auf
mcrein - Mo 25.08.08 10:31
Titel: Wie baue ich eine Oberfläche vernünftig auf
Hallo,
seit Tagen suche ich eine Schritt für Schritt-Anleitung, wie man eine Benutzeroberfläche vernünftig aufbaut, mit Container in Container u.s.w.
Ich stelle mir die Benutzeroberfläche in etwa so vor:
Meine Vorstellung [
http://www.gratispalast.de/images/gui.gif]
Am Wochenende habe ich mir Microsoft Visual C# 2005 Express Edition installiert und damit einige Tests ausprobiert. Leider habe ich es nicht geschafft, wie man das Fenster und seine Container so einstellt, dass die Container und Element sich der Bildschirmgröße anpassen.
Habe da irgendwas von Anchor gelesen, nur wie und wo, wird das eingestellt?
Wie muss die Container Struktur aufgebaut werden?
Welche Elemente werden wie und wo eingesetzt?
Es wäre wahrscheinlich gut, erstmal einen Plan vom vernünftigen Aufbau zu erhalten. Habe aber leider nichts dazu im Internet gefunden.
Habe bisher auch noch nie mit C# gearbeitet, die Grundlagen sind mir aus meiner Weiterbildung zum Anwendungsentwickler spez. Datenbanken bekannt, nur habe ich mich mit C# nicht weiter auseinander gesetzt. Dafür mein Interesse für Webapplikationen weiter ausgebaut, spez. PHP 5 objektorientiert.
Für mein Übungs- und Testprojekt würde ich jetzt gerne zusätzlich die Administration mit einer Grafischen Oberfläche realisieren.
Zuerst dachte ich an Java, da Betriebssystem unabhängig, aber da ich schon einmal eine kleine Anwendung mit Eclipse und den Visual Editor erstellt habe, (Auch hier würde mir nichts zu einfallen, wie man das Fenster und seine Elemente dynamisch an die Fenstergröße anpasst) dachte ich mir etwas Neues zu lernen ist immer gut und wichtig. Zumal ich zur Zeit leider Arbeitsuchend bin :O(
Vielleicht kennt einer von euch ein gutes Tutorial, eine Schritt für Schritt-Anleitung oder kann mir in Stichworten erklären wie ich vernünftig eine Benutzeroberfläche mit Microsoft Visual C# 2005 Express Edition erstellen kann.
Ich bin für jeden Rat Dankbar
Viele Grüße
Andreas
Christian S. - Mo 25.08.08 11:33
Hallo und :welcome:!
Zuerst einmal würde ich vorschlagen, dass Du Visual C# 200
8 installierst. IMHO gibt es keinen Grund, mit der älteren Software zu arbeiten. Damit ist dann auch C# 3.0 nutzbar, was einen Wohltat ist :-)
Außerdem könntest Du Dir dann mal WPF (Windows Presentation Foundation) angucken, welches was die GUI angeht sehr viel flexibler als WinForms ist. Für den Einstieg aber auch (IMHO) viel schwieriger. Allerdings kennt das
neue OpenBook Visual C# [
http://www.galileocomputing.de/openbook/visual_csharp/visual_csharp_21_001.htm#mj3f59f40f06fd5993e00c300e7757cdba] ein paar Kapitel dazu. :-)
mcrein hat folgendes geschrieben: |
Leider habe ich es nicht geschafft, wie man das Fenster und seine Container so einstellt, dass die Container und Element sich der Bildschirmgröße anpassen.
Habe da irgendwas von Anchor gelesen, nur wie und wo, wird das eingestellt? |
Bitte schau mal auf das Bild im Anhang. In der Box, die mit 3 gekennzeichnet ist, gibt es den Abschnitt Layout und dort "Anchors". Dort kannst Du setzen, ob die Anker Top, Left, Bottom oder Right gesetzt sind. Anker bedeutet immer, dass der entsprechende Abstand zu dieser Seite des Parents konstant bleibt. Setzt Du also alle Anker, bleibt der Abstand zu allen Seiten konstant: Die Komponente wird in beiden Dimensionen (Höhe und Breite) mit vergrößert.
mcrein hat folgendes geschrieben: |
Wie muss die Container Struktur aufgebaut werden?
Welche Elemente werden wie und wo eingesetzt? |
Das ist ein bisschen schwierig. Dafür, dass Du die beiden ... äh ... Dinger an den Seiten in der größe veränderbar sind, könntest Du zwei Splitcontainer in einander packen. Die ausklappbaren Komponenten nennen sich "Expander", sind aber standardmäßig nur bei WPF und nicht bei WinForms dabei. Da würde ich mal auf CodeProject gucken, ob es da was passendes gibt. Ich würde wetten ;-)
Oder: Schnapp Dir mal SharpDevelop (also die freie IDE für C#). Die könnten auch solche Komponenten da drin haben, die Du dann verwenden kannst. (Lizenz beachten, bin gerade nicht informiert, unter welcher Lizenz SharpDevelop steht und wie die sich auf eigene Projekte auswirkt.)
Eine Symbolleiste bekommst Du mittels eines ToolStrips hin.
Grüße
Christian
mcrein - Di 26.08.08 08:44
Hallo Christian,
vielen Dank für deinen Beitrag.
Ich möchte noch nicht mit Visual C# 2008 arbeiten, da man nur Applikationen in .NET-Framework 3.x erstellen kann, was noch nicht so sehr verbreitet ist, daher auch kein WPF benutzen möchte.
Mit SharpDevelop 2.x habe ich auch einiges ausprobiert, scheit aber noch nicht ausgereift zu sein, da wenn ich einen Schritt zurück gehe, es zu Fehlern kommt, da wohl nicht alle Änderungen Rückgängig gemacht werden. Warum sollte man mit SharpDevelop arbeiten, wenn man mit Microsoft Visual C# arbeiten kann, ist doch in der Express Version kostenlos denke ich.
Es ist nicht so einfach eine Oberfläche zusammen zubauen. Probiere schon seit Stunden mit zwei Splitcontainern herum. Der rechte Splitter wird mir nicht angezeigt. Habe einen Splitcontainer genommen und in den Panel2 einen weiteren Splitcontainer hinzugefügt. In der Entwicklung werden beide Splitter richtig angezeigt, sobald ich mit F5 die Applikation starte, wird zur der rechte Splitter nicht angezeigt
Auch gibt es nicht die Möglichkeit, ausklappbare Komponenten "Expander" als Menüsteuerung so einfach hinzuzufügen. Scheint es erst ab Microsoft Visual C# 2008 mit WPF zu geben. Oder geht es doch?
Vielleicht kennt einer von euch ein gutes Tutorial, eine Schritt für Schritt-Anleitung oder kann mir in Stichworten erklären wie ich vernünftig eine Benutzeroberfläche mit Microsoft Visual C# 2005 Express Edition erstellen kann.
Ich bin für jeden Rat Dankbar
Viele Grüße
Andreas
Christian S. - Di 26.08.08 09:43
mcrein hat folgendes geschrieben: |
| Ich möchte noch nicht mit Visual C# 2008 arbeiten, da man nur Applikationen in .NET-Framework 3.x erstellen kann, was noch nicht so sehr verbreitet ist, daher auch kein WPF benutzen möchte. |
Wenn Du mit .NET 2.0 arbeiten willst, fällt WPF tatsächlich raus. Aber Visual C# 2008 kann auch Anwendungen für .NET 2.0 erstellen, das Zielframework ist einstellbar.
mcrein hat folgendes geschrieben: |
| Warum sollte man mit SharpDevelop arbeiten, wenn man mit Microsoft Visual C# arbeiten kann, ist doch in der Express Version kostenlos denke ich. |
Ich meinte nicht, dass Du mit SharpDevelop
arbeiten sollst. Ich meinte, dass Du mal schauen kannst, ob Du die Komponenten, welche in der GUI von SharpDevelop verwendet werden, benutzen kannst. SharpDevelop ist, wenn ich mich recht entsinne, sehr gut modularisiert.
mcrein hat folgendes geschrieben: |
| Es ist nicht so einfach eine Oberfläche zusammen zubauen. Probiere schon seit Stunden mit zwei Splitcontainern herum. Der rechte Splitter wird mir nicht angezeigt. Habe einen Splitcontainer genommen und in den Panel2 einen weiteren Splitcontainer hinzugefügt. In der Entwicklung werden beide Splitter richtig angezeigt, sobald ich mit F5 die Applikation starte, wird zur der rechte Splitter nicht angezeigt |
Ich denke, für Detailfragen ist es besser, eigene Thread zu erstellen. Allgemeine Hinweise kann man in einem Thread sammeln, was darüber hinaus geht wird zu durcheinander.
mcrein hat folgendes geschrieben: |
| Auch gibt es nicht die Möglichkeit, ausklappbare Komponenten "Expander" als Menüsteuerung so einfach hinzuzufügen. Scheint es erst ab Microsoft Visual C# 2008 mit WPF zu geben. Oder geht es doch? |
Hab ich doch geschrieben:
mcrein hat folgendes geschrieben: |
| Die ausklappbaren Komponenten nennen sich "Expander", sind aber standardmäßig nur bei WPF und nicht bei WinForms dabei. Da würde ich mal auf CodeProject gucken, ob es da was passendes gibt. Ich würde wetten ;-) |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!