2009-08-20 3 views
1

Ich arbeite an einer kleinen WinForm-App und habe versucht, die Antworten auf ein paar Fragen zu finden, die ich ohne Glück habe. Ich bin ein ASP.NET Entwickler und WinForms Entwicklung ist neu für mich.Winforms-Anwendungsmenü und Anwendungs-Benutzeroberfläche

Hier ist meine Hauptfrage:

Wie kann ich ein Menüsystem erstellen, sobald der Inhalt ausgewählt werden in der Hauptform des ausgewählten Elements machen. Wenn es ein GridView ist, möchte ich das GridView innerhalb der Hauptanwendung rendern, damit sie weg navigieren können, ohne sich mit dem modalen Popup zu beschäftigen. Ich möchte keine Formulare einblenden, wenn ich dies nicht explizit sage. Ich denke, das Äquivalent dazu wäre die Verwendung einer Masterseite in ASP.NET.

Sinn machen?

Antwort

1

Am ehesten zu Master-Seiten in Winforms wäre MDI (Multiple Document Interface), die eine schreckliche Windows 3.1-Abtreibung einer Benutzeroberfläche ist. Warum diese Option überhaupt noch verfügbar ist und warum sie immer noch benutzt wird, ist mir nicht möglich. Die zweitnächste Sache (und etwas akzeptableres als eine UI) ist nur, ein Hauptformular in Ihrer Anwendung zu haben und die verschiedenen Funktionen, die Ihre App benötigt, als separate Benutzersteuerelemente zu implementieren, die auf dem Formular angezeigt und ausgeblendet werden wie es der Kontext erfordert.

Eine seltsamere Methode, aber eine, die auch für Sie arbeiten könnte, ist die Vererbung von Formularen - Erstellen Sie ein "Master" -Formular mit den Menüs und Steuerelementen, die Sie immer vorhanden sein möchten, und dann jedes Formular in Ihrer App haben erben von diesem Master-Formular. Dies würde dem Benutzer nicht so erscheinen, dass er sich von meiner zweiten Option oben unterscheidet, also würde ich mich nicht darum kümmern.

0

Master-Seiten in WinForms sind nicht wirklich ähnlich.

Am nächsten zu dem, was Sie verwenden möchten, wäre ein TabControl, wenn Sie eine andere Registerkarte auswählen, wird diese Registerkarte über den anderen Registerkarten angezeigt. Wenn Ihnen der Tab-Look nicht gefällt, können Sie TabControl so erweitern, dass die Tabs nicht angezeigt werden, oder indem Sie TabControl in ein Panel einfügen, das groß genug ist, um den Inhalt, aber nicht die Tabs anzuzeigen und Tabs programmatisch in Ihrem Menü zu ändern.

+0

MDI ist Master-Seiten ähnlich (obwohl MDI saugt, um fair zu sein). – MusiGenesis

Verwandte Themen