AX2012 : Ajouter le contrôle .Net « WebBrowser » à un formulaire

La plateforme .net est très riche, AX2012 permet d’accéder à cette richesse nativement et bien sûr sans trop d’efforts.

Nous abordons dans ce billet l’utilisation du contrôle .Net WebBrowser dans un formulaire AX 2012. Ce contrôle permet tout simplement d’afficher une page Internet au sein d’un formulaire AX 2012. Cela permet d’accéder à des applications web, d’héberger des applications Silverlight ou des multiples fonctionnalités de Sharepoints en interaction avec les fonctionnalités de AX 2012 dans un environnement Client RoleTailored.

Nous commençons par créer un nouveau formulaire de type DetailsFormMaster :

clip_image001

Naviguer dans l’AOT pour trouver l’élément TabPage:HeaderGeneral :

clip_image002

Un clic droit sur cet élément nous permet d’afficher la liste des contrôles possibles à ajouter à cette Tab :

clip_image003

Parmi ces contrôles nous allons ajouter le contrôle ManagedHost.

Le Sélectionneur de contrôle s’affiche.

clip_image005

Il suffit de sélectionner la librairie « System.Windows.Forms » dans la liste de haut et le contrôle « WebBrowser » dans liste de bas.

Renommer ce contrôle et modifier les propriétés Width et Height :

clip_image006

Déclarer une variable globale  « _web » :

clip_image007

Ajouter la méthode Init du formulaire :

clip_image008

Et voila le résultat :

clip_image010

Nous allons maintenant ajouter des actions de navigation web dans le ruban.

clip_image001[5]

Renommer le groupe

clip_image002[5]

Puis ajouter deux boutons (GoBack et GoForward) dans ce groupe et leur méthode Clicked :

clip_image005

Bouton GoBackPrécédent:

clip_image003[6]

Bouton GoForwardSuivant :

clip_image004

Pour la méthode Clicked du boutton Précédent nous appelons la méthode GoBack du contrôle WebBrowser

clip_image006[5]

Et pour la méthode Clicked du boutton Suivant nous appelons la méthode GoForward du contrôle WebBrowser

clip_image007[5]

Nous finissons par rendre non-visible les BouttonGroup qui ne servent à rien et renseigner les captions et voilà le résultat :

image