Ecco il codice:
supponendo di avere un WebBrowser di nome WB e una variabile doc di tipo Ihtmldocument2, aggiungere un riferimento all'oggetto com html library object e scrivere il seguente codice:
Public doc As mshtml.IHTMLDocument2
  
Private Sub WYSIWYG_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

WB.DocumentText = "<html><head></head><body></body></html>"
doc = Me.WB.Document.DomDocument
doc.designMode = "On"

End Sub



Poi eseguire il comando

doc.execCommand("Comando", True o false, Argomento)

per creare oggetti, modificare il colore del testo, insomma creare un editor WYSIWYG

La stringa comando rappresenta il comando da eseguire( ecco una lista dei comandi http://msdn2.microsoft.com/en-us/library/ms533049.aspx)

Il secondo valore serve a specificare se l'utente visualizzerà una finestra per eseguire il comando(es. in caso di comando InsertImage verrà visualizzata una finestra con file dialog e varie opzioni per personalizzare l'immagine).

Il terzo argomento è richiesto solo con alcuni comandi se il secondo argomento è false. Esso specifica ad esempio nel caso di InsertImage il percorso dell'immagine.