begin process at 2010 02 10 01:01:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

.NET

 > INTERFACE WEB SANS WINFORMS

INTERFACE WEB SANS WINFORMS


 Information sur la source

Note :
9,5 / 10 - par 6 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :.NET Source .NET ( DotNet ) Classé sous :webbrowser, internetexplorer, javascript, intéraction, winforms Niveau :Expert Date de création :21/12/2005 Date de mise à jour :21/12/2005 10:33:46 Vu :17 218

Auteur : poppyto

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Bonjour à tous.

En tant que webmaster, je me suis interressé à la réalisation de programmes en C# en utilisant uniquement un contrôle Internet Explorer (WebBrowser). En effet, de nos jours il est beaucoup plus aisé de réaliser une interface "spéciale" en HTML plutôt qu'avec des contrôles Windows. En partant de ce constat, il nous manque la méthode pour faire intéragir C# et IE. En effet, le but de la manoeuvre est de créer divers Liens HTML et d'appeler des méthodes issues du programme en C# à partir de ces liens, et aussi de pouvoir faire des appels Javascript depuis C#.

---------------------------------
INVOKE de HTML(Javascript) à C#
---------------------------------

La solution se fait en 3 étapes:
-Déclarer la classe ( celle dont les méthodes seront appelés du WebBrowser) avec l'attribue [ComVisible] à true
-Donner la valeur "this" à la propriété ObjectForScripting de l'objet WebBrowser
-Utiliser window.external.NomFonction(); pour appeler les focntions de C# via HTML.

---------------------------------
INVOKE de C# à HTML(Javascript)
---------------------------------

Une seule étape suffit !

- Utiliser la méthode InvokeScript de l'objet Document contenu dans l'objet WebBrowser
->C#

Et bien voilà, maintenant vous avez tous les outils pour réaliser des logiciels avec un minimum de WinForms.
Ce n'est pas très compliqué et ça promet !


Source

  • //---------------------------------
  • //INVOKE de HTML(Javascript) à C#
  • //---------------------------------
  • //->C#
  • using System.Runtime.InteropServices;
  • [ComVisible(true)]
  • class Form1
  • {
  • System.Windows.Forms.WebBrowser WebBrowser1;
  • Form1()
  • {
  • InitializeComponent();
  • this.WebBrowser1.ObjectForScripting = this;
  • }
  • public void Test()
  • {
  • MessaegBox.Show("Coucou je suis C#!");
  • }
  • }
  • //->HTML (Javscript)
  • <a href="javascript:window.external.Test();">Appel à C#</a>
  • //---------------------------------
  • //INVOKE de C# à HTML(Javascript)
  • //---------------------------------
  • //->C#
  • //passage de 2 arguments à la fonction coucou
  • Object[] objArray = new Object[1];
  • objArray[0] = (Object)"salut";
  • objArray[1] = (Object)"ça va?";
  • object result = WebBrowser.Document.InvokeScript("coucou")
  • //->JavaScript
  • function coucou(param1,param2)
  • {
  • alert(param1 + param2);
  • return true;
  • }
//---------------------------------
//INVOKE de HTML(Javascript) à C#
//---------------------------------
//->C#

using System.Runtime.InteropServices;

[ComVisible(true)]
class Form1
{
   System.Windows.Forms.WebBrowser WebBrowser1;

   Form1()
   {
        InitializeComponent();
        this.WebBrowser1.ObjectForScripting = this;
   }
   public void Test()
   {
      MessaegBox.Show("Coucou je suis C#!");
   }

}

//->HTML (Javscript)

<a href="javascript:window.external.Test();">Appel à C#</a>


//---------------------------------
//INVOKE de C# à HTML(Javascript)
//---------------------------------
//->C#


//passage de 2 arguments à la fonction coucou
Object[] objArray = new Object[1];
objArray[0] = (Object)"salut";
objArray[1] = (Object)"ça va?";
object result = WebBrowser.Document.InvokeScript("coucou")

//->JavaScript

function coucou(param1,param2)
{
	alert(param1 + param2);
   return true;
}

 Conclusion

Comme à ma grande habitude je ne mets pas les sources car tout est dans le tutorial.


 Historique

21 décembre 2005 10:33:46 :
Quelques corrections du texte

 Sources du même auteur

Source .NET (Dotnet) OBTENIR LE PID PARENT D'UN PROCESSUS
Source .NET (Dotnet) SERIALIZER UNE ARBORESCENCE TREEVIEW
Source .NET (Dotnet) TRANSFORMATION XSLT EN .NET 2.0

 Sources de la même categorie

Source avec Zip CHAT SERVER-CLIENT par abderrahmenbilog
Source avec Zip Source avec une capture Source .NET (Dotnet) SIMULATION DE CONSOLE POUR WINDOWS MOBILE par originalcompo
Source avec Zip Source .NET (Dotnet) BASE DE DONNÉES EN XML par DanMor498
Source avec Zip Source avec une capture Source .NET (Dotnet) SIMPLECONV - APPLICATION DE CONVERSION MONÉTAIRE AVEC TAUX E... par Jeffrey_
Source avec Zip Source .NET (Dotnet) TRAITEUR D'IMAGE (MINI) par ycyril

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) SIMPLECONV - APPLICATION DE CONVERSION MONÉTAIRE AVEC TAUX E... par Jeffrey_
Source .NET (Dotnet) WEBSERVICES + AJAX = UNE BONNE MÉTHODE POUR BANIR L'AUTOPOST... par driver
Source avec Zip Source .NET (Dotnet) RÉCUPÉRER L'URL EN COURS DANS VOS NAVIGATEURS (INTERNET EXPL... par ShareVB
Source avec Zip Source .NET (Dotnet) WEBBROWSER GÉRANT POPUP, ONGLETS, BOUTONS SOURIS... par Yxion
Source avec Zip Source .NET (Dotnet) NAVIGATEUR WEB SIMPLE par pbeuz

Commentaires et avis

Commentaire de Nurgle le 21/12/2005 12:02:12 administrateur CS

Cool, on va pouvoir faire des trucs jolis ! :D
(en attendant WinFX, bien sûr !)

Commentaire de coq le 21/12/2005 12:20:48 administrateur CS

Ouep, c'est assez pratique de temps en temps :-)
Un exemple d'application de la chose pour ceux qui ne se représentent pas trop le truc :
Les wizard de création de projet, notamment C++, sous VS.Net (pour VS 2005 je ne sais plus) : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/_CORE_Overview_of_Creating_a_Custom_AppWizard.asp

Commentaire de sebmafate le 22/12/2005 06:09:39 administrateur CS

bonne idée ;)

Commentaire de leproc le 24/12/2005 00:39:42

Personaliser le navigateur s'est une idée génial

Commentaire de poppyto le 24/12/2005 11:35:39 administrateur CS

C'est probablement le futur de la guéguère des navigateurs.

Commentaire de Elektordi le 02/03/2007 21:21:43

Pile de dont j'avait besoin, merci !

Juste un truc pour VS2005, penser à définir la classe C# associé avec [ComVisibleAttribute(true)]

Commentaire de ukos le 27/05/2008 16:12:13

Et'il possible de faire la meme chose en VB ?

Commentaire de Elektordi le 27/05/2008 21:48:35

Si tu fait du VB.NET, tu peux, vu que ca repose sur le Framework.NET
Si c'est du VB6 j'ai peur qu'il ne supporte pas le COM !

Commentaire de kaktusatomik le 28/10/2008 15:27:24 10/10

Super merci !
exactement ce que je cherchais!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Webbrowser (Modifier une fonction javascript) [ par Booster ] Bonjour à tous,Alors, voila j'ai une fonction javascript sur un site, étant donné que la javascript est executer coté client j'aimerais savoir si il e [Expert] WebBrowser et objets Javascript [ par Gendal67 ] Bonsoir tout le monde,Après de longs moments à chercher une réponse vainement sur le web, je me permets de vous adresser mon petit problème :J'ai une injection javascript webbrowser ? [ par goory ] Bonjour, J'essaye actuellement d'injecter du javascript dans un webbrowser control a l'aide ce code [code=cs] void WebBrowser1DocumentCompleted(object Webbrowser : Comment faire pour récupérer la sortie du submit d'un formulaire [ par ET2Mars ] Bonjour a tous. Dans une windows form, j'ai un webbrowser qui affiche un formulaire html avec un input de type submit. [code=html] <form method Mettre du C# dans du javascript [ par Calvein ] J'ai hésiter à mettre cette question dans JS ou C# :pJ'explique mon problème, je travail sous VS2005 et dans mon site je doit y mettre une page concer Problème webbrowser [ par OLman135 ] Bonjour, je suis en train de réaliser une application avec un webbrowser.J'ai un problème, je souhaite utiliser les évènements document_completed ou n Mettre du code c# dans javascript [ par HamzaEco ] Bonjour, SVP, j'ai un petit problèm,J'ai une fonction en c#, que je veux l'éxecuter dans du javascriptvoila ce que j'ai fais, et ca ne marche pas :&lt IHM: webBrowser: comment le réinitialiser [ par simlaboum ] Tagadatsointsoin!!! Création d'une instance d'Internet Explorer [ par scorpion322 ] Je souhaiterai de créer un instance d'internet Explorer ie7 sous Vista. --- Code -- SHDocVw.IWebBrowser2 webBrowser = SHDocVw.IWebBrowser2)internet


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales