Frage von KnorxyThieus, 53

Wie kann ich in einem Windows-Forms-Projekt mit Visual C# ein Ribbon-Menüband erstellen?

Hallo,

Ich habe natürlich bereits eine Weile gegoogelt und auch einige Lösungen gefunden, aber ich möchte unbedingt das windows-eigene Ribbonband nutzen und nach Möglichkeit auf irgendeinen Wrapper verzichten! Geht das denn gar nicht ohne Zusatztools oder -ressourcen aus dritter Hand? :(

Würde mich sehr über eure Hilfe freuen! :-)
Mit freundlichen Grüßen,
KnorxThieus (♂)

Antwort
von CrystalixXx, 53

Das .NET Framework selbst bietet kein solches Steuerelement.

Wenn es das für Windows Forms gäbe, hätte ich es sicherlich schon lange genutzt! : )

Kommentar von KnorxyThieus ,

Hm, aber man muss doch irgendwie auf die Windows SDK zugreifen können!

Hast du vielleicht eine Ahnung, welcher Wrapper besonders "systemnah" ist? Ich hasse nachgemachtes Design! :)

Kommentar von CrystalixXx ,

Ich denke am naheliegendsten wäre das Ribbon Control für WPF (https://msdn.microsoft.com/en-us/library/ff799534.aspx).

Ansonsten gibt es für Win Forms unter Windows 7 einen Wrapper (http://windowsribbon.codeplex.com/).

Ich habe aber beides noch nicht ausprobiert, unter anderem, weil ich kein WPF nutze und aus diversen Gründen möglichst auf Fremdbibliotheken verzichte - somit auch auf das Ribbon-Menü.

Kommentar von KnorxyThieus ,

Hm, ich bin gerade noch bei WinForms und habe daher deinen unteren Link probiert ... klappt super, und das Design ist original! Danke! :-)

Kommentar von CrystalixXx ,

Es basiert auf dem Windows Ribbon Framework, welches für C/C++ Anwendungen zur Verfügung steht. Der genannte Link ist nichts weiter als ein Wrapper, um diese Methoden auch für .NET zugänglich zu machen. Der Wrapper unterliegt übrigens der Microsoft Public Licence (Ms-PL) und benötigt das Windows-7-SDK.

Kommentar von KnorxyThieus ,

Was heißt diese Lizenz genau?

Kommentar von CrystalixXx ,

Es ist eine Open-Source-Lizenz. Der Inhalt ist unter https://msdn.microsoft.com/en-us/library/ff647676.aspx nachzulesen.

Ansonsten stehen die Inhaltspunkte auch kurz und knackig auf Wikipedia zusammengefasst. Im Grunde ist das alles ganz unproblematisch.

Kommentar von KnorxyThieus ,

Hallo, hab jetzt doch noch ein Problem. Ich hab mir dieses Tutorial, welches auf der Projektseite verlinkt war - https://bernhardelbl.wordpress.com/2010/11/17/quickstart-tutorial-windows-ribbon... - angeschaut und kriege den RibbonGenerator nicht erstellt: Nach der automatischen Migration von VS 2010 auf VS 2015 begrüßen mich diverse Fehler beim Kompilieren, weil verschiedene Variablen/Namespaces nicht mehr gefunden werden:

ServiceProvider-Klasse (CS0246), ServiceProvider-Namespace, der Objekttyp VsShellUtilities und VSConstants sowie die RibbonGenerator.dll wurden nicht gefunden. Ich finde auch keinen Namespace, den ich einfach mit angeben könnte!

Was mache ich jetzt? :(

Kommentar von CrystalixXx ,

Ich konnte das RibbonGenerator-Projekt auch nicht mit VS2015 öffnen/erstellen. Das Projekt ist ein Setup-Projekt und eigentlich in den kostenlosen Versionen nicht unterstützt. Ich weiß nicht, ob das mit den neueren Versionen, also VS2015 Community-Edition, kostenlos angeboten wird. Da müsstest du mal schauen, ob du das als Template nachinstallieren kannst.

Melde dich dann einfach nochmal, wenn es funktioniert (oder auch nicht).

Kommentar von CrystalixXx ,

Ergänzung: Befolge den Link, wenn du das Setup-Projekt nicht öffnen kannst (das ist eine manuelle Anleitung zum Einrichten des benutzerdefinierten Tools). https://bernhardelbl.wordpress.com/2010/12/10/ribbongenerator-for-visual-studio-...

Kommentar von KnorxyThieus ,

Hm, ich habe keine Ahnung, wonach ich hier suchen muss - hier sind einmal die genauen Versionsunterschiede aufgelistet: https://www.visualstudio.com/products/compare-visual-studio-2015-products-vs

Das sagt mir jetzt alles nichts - hat das etwas mit CodeLens oder dem Code-Klon zu tun?

Kommentar von CrystalixXx ,

Das hat damit nichts zu tun. Befolge erstmal die Anweisungen im zweiten Link. Dort wird das RibbonGenerator-Tool manuell "installiert". Das heißt du nimmst alle Einträge händisch vor. Dann brauchst du das RibbonGenerator-Setupprojekt nicht mehr und kannst den Schritt überspringen.

Kommentar von KnorxyThieus ,

Hallo,

Endlich zurück! Ich hab's probiert, aber das Kompilieren funktioniert nicht, weil ja noch Fehler existieren. Egal, ob Debug- oder Release-Konfiguration. Wie soll ich das denn machen? Die DLL-Datei ist folglich nicht vorhanden!

Keine passende Antwort gefunden?

Fragen Sie die Community