2017-06-10 5 views
1

J'utilise le navigateur Gecko dans mon programme. J'essaye d'activer le mode de conception sur ce navigateur comme ceci:Comment puis-je activer le mode design dans Gecko?

webBrowser1.Document.DomDocument.GetType().GetProperty("designMode").SetValue 
(webBrowser1.Document.DomDocument, "On", null); 

Mais cela ne fonctionne pas. Comment puis-je le faire?

+0

double possible de [Comment accéder à l'interface nsIHTMLEditor à GeckoFX?] (Https://stackoverflow.com/questions/33467992/how-to-access-nsihtmleditor -interface-in-geckofx) – Bartosz

Répondre

1

nsIHTMLEditor est probablement par exemple navigateur plutôt que d'une instance globale (comme les choses renvoyées par Xpcom.GetService)

On peut obtenir un nsIEditor comme celui-ci par (en fournissant une instance de fenêtre)

var editingSession = Xpcom.CreateInstance<nsIEditingSession>("@mozilla.org/editor/editingsession;1"); 
nsIEditor editor = editingSession.GetEditorForWindow((nsIDOMWindow)Window.DomWindow); 
Marshal.ReleaseComObject(editingSession); 

(ou vous pouvez simplement appeler la propriété nsIEditor GeckoWebBrowser.Editor.)

vous pouvez être en mesure de lancer ce nsIEditor à un nsIHtmlEditor (bien que je n'ai pas encore essayer)

GeckoWebBrowser browser = .....; 
// Untested code 
nsIHTMLEditor htmlEditor = (nsIHTMLEditor)browser.Editor; 

Le code VB de @GreenBear

Dim gEditor As nsIHTMLEditor: 
gEditor = Gbrowser.Editor: 
gEditor.DecreaseFontSize() 
+0

Vraiment merci. – Kaprog