C# Hilfe Anleitung basteln

mayhem

Grünschnabel
Ich möchte eine Hilfe Anleitung mit Visual Studio C# basteln. Die Hilfe soll ähnlich sein, wie z. B. bei MS Word, wenn man auf das Fragezeichen in der Menüleiste klickt und dann auf Word-Hilfe. Es öffnet sich rechts neben Word ein Fenster, was die Hilfe beinhaltet.
Kann mir jemand sagen, wie man dort am besten rangehen kann (am besten mit Windows Application). Gibt es spezielle Forms, die man nutzen sollte?

Danke!

oder wie würdet ihr da ran gehen? Irgendwelche Tips?

Am besten wäre es, wenn man die Hilfestellungen in Textdateien hinterlegen könnte, die dann in eine Textbox erscheinen, oder?
 
Zuletzt bearbeitet:
Eine sinnvolle Möglichkeit wäre zum Beispiel die Kombination aus TreeView-Steuerelement für die Anzeige der Hilfe-Knoten und einer XML-Datei, die die eigentlichen Knoten enthält. Du solltest dir allerdings klar machen, dass das Ganze u.U. - je nachdem, wie komplex es sein soll - relativ aufwendig werden kann.

Eine Alternative wäre der Einsatz des WebBrowser-Steuerelements in Verbindung mit einem HTML-basierten Hilfe-System. Dies ist in den meisten Fällen ausreichend und adaptiert sogar mehr oder weniger das *.chm-Format (Standard-Format für Hilfe-Dateien).

Falls jemand noch weitere Vorschläge hat, kann er sie gerne äußern.

Gruß
PhoenixLoe
 
Die MSO Hilfe basiert auf kompilierten HTML-Hilfedateien. (.chm) Du könntest es ähnlich anstellen wenn du eine komplett eigenes Hilfemodul erstellen willst. Die gewünschten Hilfedateien könntest du als eigenes Resource-File ablegen und mit einem Art Dictionary versehen. Der Key wäre ein Menschen-Verständlicher Pfad hinter welcher sich ein HTML-Resource File liegt. Das Inhaltsverzeichnis bekommst du in dem du die Files durchläufst und z.B. die <title> Tags (Überschriften) holst (oder du legst sie wieder Extra ab). Je nach dem ob du auf Filegröße oder Performance Wert legst. Die Hilfe selbst könntest du mittels Webbrowser-Control darstellen. Per Klick auf das Verzeichnis oder per Pfadangabe eifnach das Resource-File lesen und den HTML-Code dem Control zuweisen. Suche und Schlüsselwort-Verzeichnis müsstest du speziell Indizieren in einem Hashtable oder so ablegen.

Wegen der Anzeige selbst:
MSO Produkte skalieren bei der Anzeige des Hilfefensters auf Maximum skaliert. Über System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Size kannst du die Bilschirmauflösung feststellen. Dann einfach das Hauptfenster auf diese Größe minus der Breite deines Hilfefensters festlegen. Dann noch das Hiflefenster anzeigen und auch hier die Positionen festlegen.

Natürlich ist das jetzt simpel erklärt. Aber es steckt sicher einiger Aufwand dahinter ein solches Hilfemodul zu erstellen. Gerade damit die Hilfe schnell geladen ist. Aber du könntest auch auf die CHM Files aufbauen. Das lesen sollte in C# kein Problem sein (einfach mal googeln). Die CHM-Files können ebenfalls im Webbrowser-Control angepasst werden. du musst dir nur mal die Spezifikation dieser Files ansehen und wie sich die URL zusammensetzt. Aber meines Wissens stellt das .net Framework auch für diese Dinge Klassen zur Verfügung.

Ich hoffe ich konnte dir helfen.

Gruß Daniel
 
Zurück