Forum: PC-Programmierung Visual C# - Wie Textdokument anzeigen/öffnen?


von Andreas L. (andreas_l441)


Lesenswert?

Hallo,
ich habe mit Visual Studio eine Windows Forms Anwendung erstellt und 
möchte nun, dass wenn man auf eine Schaltfläche klickt, sich eine 
Bedienungsanleitung öffnet.
Nun könnte ich ja einfach die Datei öffnen lassen. Jedoch könnte der 
Anwender sie dann beliebig verändern, weil ja nur ein vorhandenes 
Worddokument geöffnet wird. Ist es möglich den Text der Worddatei in 
einem Fenster anzuzeigen, sodass daran nichts geändert werden kann?
Ich muss jedoch vorab sagen, dass ich nicht die größten 
Programmierkenntnisse habe, also hoffe ich einfach mal dass es da eine 
möglichst einfache Lösung gibt :)

MfG Andreas

von bluppdidupp (Gast)


Lesenswert?

Andreas L. schrieb:
> Jedoch könnte der
> Anwender sie dann beliebig verändern, weil ja nur ein vorhandenes
> Worddokument geöffnet wird.

Üblicher wäre ja eigentlich eine PDF oder Hilfedatei (*.chm oder 
ähnlich) beizulegen, oder auf eine Online-Seite zu verlinken.
Die Frage wäre aber: Was würde es denn überhaupt stören, wenn der Nutzer 
die Worddatei verändert?

Dateien mit dessen Standardprogramm kann man via:
Process.Start("PfadZurDatei.docx");
öffnen lassen. Damit kann man auch Webseiten mit dem Standardbrowser 
öffnen.
siehe auch: 
https://msdn.microsoft.com/en-us/library/53ezey2s(v=vs.110).aspx

von Arc N. (arc)


Lesenswert?

IMO sinnvoller wäre es den Text entweder als RTF- oder HTML-Dateil zu 
speichern und mit den dazugehörigen Controls darstellen zu lassen.
RichTextBox-Control mit der üblichen ReadOnly-Eigenschaft
https://msdn.microsoft.com/en-us/library/System.Windows.Forms.RichTextBox%28v=vs.110%29.aspx
oder das WebBrowser-Control
https://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser%28v=vs.110%29.aspx
Soll der Text "unveränderbar" sein, können die Texte auch als 
Resource-Strings in das Programm eingebaut werden (z.B. unter Project -> 
Properties -> Resources). Anzeigen der Strings über DocumentText beim 
WebBrowser-Control bzw. Text bei der RichTextBox

von Andreas L. (andreas_l441)


Lesenswert?

Danke, ich werde es mal testen!

von Carsten P. (r2pi)


Lesenswert?

Abgesehen von den besagten Möglichkeiten, was hindert dich daran, das 
Word-Dokument mit einem Kennwort-Schutz zu versehen? Das verhindert 
unabsichtliche Veränderungen. Mehr willst du ja sowieso nicht schützen, 
weil ja jeder deinen Text zur Not abtippen und neu als docx speichern 
kann.

Im Übrigen kannst du dir natürlich das Word-Textfenster-Steuerelement 
aus der entsprechenden DLL in deine App-Domain laden, es instanziieren 
und mit den passenden Attributen so modifizieren, dass eine Veränderung 
des Dokuments nicht möglich ist. Zugegeben, es ist ein elendiges 
Gefummel, vor allem in Sachen Versionierung, aber gehen tut es. 
msdn.microsoft.com ist wie immer dein bester Freund.

von Bernd K. (prof7bit)


Lesenswert?

Wenn Du schon Windows-Only Programme schreibst, warum versuchst Du dann 
nicht auch konsequent die Dinge so umzusetzen wie sie auf dieser 
Plattform üblich sind, wie sie die User gewohnt sind, wie Microsoft es 
empfiehlt und auch Tools dafür bereitstellt, also im Falle der 
Hilfefunktion würde ich die ganz normalen dafür vorgesehenen Formate und 
eingebauten Tools nehmen damit sich alles nahtlos einfügt und nicht wie 
amateurhaft hingefrickelt wirkt.

von moep (Gast)


Lesenswert?

Andreas L. schrieb:
> weil ja nur ein vorhandenes
> Worddokument geöffnet wird

Klar... und ohne installiertes Office-Paket gibt es dann gar keine Hilfe 
für dein Tool - super Idee :)
Nimm eines der oben bereits vorgeschlagenen Formate.

von Carsten P. (r2pi)


Lesenswert?

moep schrieb:
> Klar... und ohne installiertes Office-Paket gibt es dann gar keine Hilfe
> für dein Tool - super Idee :)
> Nimm eines der oben bereits vorgeschlagenen Formate.

Abgesehen davon, dass deine Bemerkung ins Schwarze trifft: Gerüchten 
zufolge geht der Trend bei Bedienungsanleitungen und Hilfe-Dateien 
angeblich zu einem komischen Format namens HTML. Habe ich aber nur so 
mal gehört. Ob da was dran ist, will ich nicht kommentieren ^^

Im Ernst, seit Word Version Steinzeit.1 kann das Ding XHTML speichern. 
Das, was dabei rauskommt, ist zwar potthässlich und macht manchem 
Browser Kopfzerbrechen, aber in der Windows-Welt gibt es den Explorer 
und Edge, und die kommen beide damit zurecht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.