Che fine ha fatto il componente Microsoft Web Browser ?
Chi viene dal mondo di
Visual Basic 6.0 si ricorderà sicuramente di un componente OCX chiamato
Microsoft Web Browser che ci permetteva di integrare funzionalità Web all'interno della nostra Form, cioè in parole povere ci creava un container di Internet Explorer sulla Form e da lì potevamo visualizzare praticamente pagine e siti Web.
Il componente era un
OCX e quindi utilizzava l'architettura
COM. Con l'introduzione di .NET tutti questi componenti sono praticamente scomparsi sostituiti da quelli
Managed come DataGrid o simili.
Mancando però in Visual Studio .NET un componente che svolgesse la stessa funziona come possiamo risolvere ? Si può risolvere anche se non in un modo bellissimo perchè bisogna ricorrere all'interoperabilità e fare comunque riferimento al vecchio componente
unmanaged con il risultato che quando si va a fare un deploy di una soluzione andiamo a distribuire una applicazione .NET (tipicamente managed) con un componente OCX/COM (unmanaged). Niente di male sicuramente ma se ci fosse stato un omologo .NET sarebbe stato meglio.
Sarà presente infatti in Visual Studio Whidbey, ma per ora arrangiamoci in diverso modo.
Aggiungere il componente Web Browser
L'operazione è abbastanza semplice, è sufficiente aprire l'ambiente di sviluppo (Visual Studio .NET), spostarsi sulla
Toolbox di sinistra (quella con la lista di tutti gli oggetti), fare click con il tasto destro e selezionare
Add/Remove Items.... Comparirà una finestrella come la seguente, selezionate la linguetta
COM Components e andate alla ricerca del componente
Microsoft Web Browser:
Il componente Microsoft Web Browser
Dopo averlo selezionato date Ok, e vedrete apparire sulla sinistra il nuovo controllo con la tipica icona del mondo:
Il componente è ora disponibile
Selezionatelo e disegnate un rettangolo sulla Form in questo modo:
Automaticamente verranno aggiunte nel
Solution Explorer delle
Referenze a librerie necessarie per il funzionamento del componente:
Fate un doppio click ora sulla Form e nell'evento Load aggiungete il seguente codice:
C#Object f=null;
axWebBrowser1.Navigate("www.dotnethell.it",ref f,ref f,ref f,ref f);
VB.NETAxWebBrowser1.Navigate("www.dotnethell.it", "", "", "", "")
Lanciate con F5 e questo sarà il risultato:
Per chi utilizza invece i Reporting Services
Ad integrazione mostro un esempio di come è possibile integrare la reportistica dei
SQL Reporting Services all'interno di una Windows Forms.
Il procedimento è lo stesso è sufficiente assegnare al primo parametro del metodo
.Navigate() il link diretto al Report e voilà:
Per chi non sa che cosa sono i
Reporting Services può vedere un'ampia e dettagliata introduzione qui:
http://www.dotnethell.it/articles/article.aspx?ArticleID=116