Dies ist eine .NET Winform-Anwendungsfrage.Wie gestaltet man die Benutzeroberfläche für Einstellungen nach verschiedenen Optionen in C# WinForm?
Ich komme zu diesem Design von Zeit zu Zeit. Eine einfache Form. Über dem Formular haben Sie eine Liste mit Optionen zur Auswahl. Je nach gewählter Option wird im Formularkörper ein eindeutiges Fenster mit Einstellungsdetails angezeigt.
Wie gestaltet man diese Benutzeroberfläche in Visual Studio sauber? Ich habe zwei Ideen. Die erste Idee ist es, viele Panels zu haben, jedes Panel enthält Einstellelemente. Verdecken Sie in Runtime alle Panels außer der Auswahl entsprechend der Option. In dieser Lösung ist es schwierig, die Steuerelemente des Formulars in VS Designer zu organisieren. Sie müssen die Form groß einstellen, um alle Panels zu halten. Die Paneele sind nebeneinander angeordnet. Es gibt viele Laufzeit-Code zum Schreiben. Wenn Sie beispielsweise das Formular laden, müssen Sie die Bereiche ausblenden und die Formulargröße zurücksetzen. Wenn Sie eine Option auswählen, müssen Sie die Bedienfelder neu positionieren und sie ein-/ausblenden. Langweilig!
Zweite Idee ist die Verwendung von TabControl. TabControl ist gut, weil die Registerkarten für Sie gut organisiert sind. Sie müssen die Bereiche nicht verschieben und die Größe des Formulars nicht ändern. Sie müssen lediglich in Runtime die richtige Registerkarte entsprechend den Optionen auswählen. Eine Sache, Sie müssen Teile des TabControl vor dem Benutzer verstecken, denn schließlich ist es kein echtes TabControl. Das Ausblenden der Tab-Buttons des TabControl ist nicht schwer, aber ich finde, dass danach immer eine große Lücke zwischen dem Tab-Bereich und dem folgenden Teil des Formulars besteht.
Hat jemand einen anständigen Weg zur Gestaltung der Benutzeroberfläche? Vielleicht nicht mit Panels oder TabControls, aber etwas schlauer? Wenn TabControl die meiste Zeit verwendet wird, wie kann man die Tab-Teile des TabControls ausblenden und anzeigen und wie wird der Rand und die Randgröße des TabControls eingestellt, so dass keine große Lücke existiert? Vielen Dank an jede Antwort und Anregung.
Bevor ich zurückkam, sah ich Ihren Blog. Ich denke, die Hauptidee ist die Benutzerkontrolle. Eine weitere gute Sache der Verwendung der Benutzersteuerung ist, dass ich den UI-Code in jedes Benutzersteuerelement aufteilen kann. Im Gegensatz dazu, wenn ich Panels oder TabControls verwende, muss ich den UI-Code aller Panels in ein Formular schreiben, was nicht sehr ordentlich ist. Danke für die Idee. – Steve