Hey,
ich möchte gerne mit dem Webbrowser Control unter anderem .doc und .xls Dokumente (natürlich auch .jpg etc.) in meiner C# Anwendung anzeigen. Dies klappt auch soweit gut.
Allerdings soll das WebBrowser Control nur als Viewer nutzen (also read only sein). Es soll nicht möglich sein, diese Dokumente zu editieren o. ä.
Optimal wäre es, wenn es möglich wäre jegliche Eingabe zu unterbinden. Also das man z. B. kein Text in einem Word-Dokument tippen kann oder per Context Menü etwas in eine Zeile in einem Excel-Dokument einfügt.
Hat jemand eine Idee?
Vielen dank schonmal im Voraus.
Hallo Fotograf,
also zum Abfangen der Tastatureingaben müsste folgendes funktionieren:
private void WebBrowser1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Versuch das mal.
Gruß Dennis
nach langem probieren habe ich bisher noch keine Lösung gefunden. Das OnKeyPress Event des Webbrowser Conrols ist leider eine geschützte Methode, an welcher man nicht rankommt.
hat vllt jemand eine andere Lösung?
Wenn die Methode nicht private wäre sicherlich eine gute Idee...
es wäre am schönsten wenn es möglich wäre folgendes zu schreiben: webBrowser1.readonly = true;
aber das kennt das WebBrowser Control leider nicht...
ich verzweifel 😉
private-methoden kann man leider nicht überschreiben...
meine nächste Idee wäre gewesen, alle Dokumente vorher in PDF umzuwandeln, sodass der User hier keine Änderungen vornehmen kann. Allerdings mangelt es an einer freien Möglichkeit .doc, .xls, etc. nach PDF umzuwandeln...
Das war mein erster Versuch 😁
ich habe eine Groupbox genommen, diese auf enabled = false gesetzt. Natürlich waren dann keien Angaben mehr bei z. B. dem Word Dokument mehr möglich, allerdings konnte man auch nicht mehr innerhalb des Dokumentes scrollen. Der User konnte somit nur einen Ausschnitt des Dokumentes sehen.
ok dann anders. das usercontrol wie oben beschrieben, jedoch machst du den scroll balken des browsers auf false.
dann erzeugst du noch ein usercontrol.
setzt das usercontrol mit dem webbrowser rein.
stellst das teil auf enabled = false.
machst noch die scrollbalken (nicht die vom browser) hinzu (also eigene).
und behandelst die ensprechenden events der scrollbalken in denen du eine art weiterleitung and den browser-control machst.
Das OnKeyPress Event des Webbrowser Conrols ist leider eine geschützte Methode, an welcher man nicht rankommt.
Hallo Fotograf,
könntest du das Problem nicht mit einem Key-Event des Forms mit einer vorherigen Abfrage ob das WebBrowser Control das fokusierte Control ist umgehen?
Mfg Steav