Controllo HTML (Windows.Form)

venerdì 29 agosto 2003 - 10.17

sciamannikoo Profilo | Newbie

Vorrei inserire del codice HTML in una form windows, utilizzando un controllo analogo al RichTextBox.
In VB6 esistevano un paio di controlli adatti, in .NET non c'è proprio nulla?
Mi sembra strano, anche perché la stessa MS continua a sviluppare applicazioni Windows che sfruttano pezzi di codice HTML...

Spero in un vostro aiuto.

Ciao

Brainkiller Profilo | Guru

Ciao e Benvenuto!,
a che controlli ti riferisci del VB6 tanto per avere un 'idea? Oppure fammi un esempio di programma commerciale Microsoft o di altri che utilizzi questi controlli.
Ciao

David De Giacomi

sciamannikoo Profilo | Newbie

Ciao!

Grazie per il benvenuto :-)

Mi riferisco al controllo DHTML Edit Control for IE5 (dhtmled.ocx), il quale fornisce i controlli DHTMLEdit e DHTMLSafe.

Con questi controlli è possibile scrivere codice HTML (proprietà DocumentHTML) e visualizzarne il risultato, tra le altre cose.

Non so quali controlli utilizzi MS, ma, tanto per fare un esempio, programmi come Money o anche solo Outlook, utilizzano spesso delle pagine HTML generate da DLL (nel caso di Outlook, la pagina "Outlook Oggi" punta a res://C:\Programmi\Microsoft Office\Office\1040\outlwvw.dll/outlook.htm).

Ma non importa tanto chi genera il codice HTML, ma, piuttosto, cosa permette di vederne il risultato in una Windows Form.

Grazie

Brainkiller Profilo | Guru

Io ho usato per molti anni il VB, ma dell'esistenza di questo OCX proprio non ne ero a conoscenza ! :)
Io intanto ti consiglio di provare a fare questa operazione.
Prova ad aggiungere questo OCX all'interno degli oggetti disponibili di VS.NET.
Automaticamente VS.NET crea una proxy/interop DLL che ti permette di utilizzare l'oggetto vecchio all'interno di una WinForm. Nella maggior parte dei casi funziona.
Non ho potuto provare perchè non so neanche dove sia dhtmled.ocx, per lo meno sul mio PC non c'è.

Fammi sapere se funziona.
Purtroppo controlli nativi .NET che facciano questa cosa non credo ci siano. E anche se ci fossero farebbero comunque sempre riferimento con l'Interoperabilità alle API WIN32 native di IE, visto che usano proprio il motore di rendering di IE.

Ciao
David

sciamannikoo Profilo | Newbie

E' strano che tu non veda quel controllo fra quelli disponibili. Certo, non è fra i predefiniti, ma se lo aggiungi dal menù dei componenti, dovresti trovarlo.

Ad ogni modo, postando il mio messaggio anche nel newsgroup microsoft.public.it.dotnet.vb ho trovato una soluzione "preconfezionata", scritta in C#, all'indirizzo http://www.itwriting.com/htmleditor/index.php.
Come hai supposto tu, utilizza COM, infatti l'autore scrive: "you may be interested in the HTMLEditor as an example of advanced .NET / COM interop".

L'ho testato e sembra funzionare bene. Inoltre permette anche l'editing diretto di quello che viene visualizzato (anche se a me, per ora, non interessa).

Ciao e grazie mille!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5