begin process at 2010 09 03 07:28:23
  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 :18 213

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 .NET (Dotnet) TESTER SI MICROSOFT PROJECT EST CONNECTÉ SUR PROJECT SERVER par kichou86
Source avec Zip Source .NET (Dotnet) LISTE DES TÂCHES (RESSOURCES) - MICROSOFT PROJECT 2010 par kichou86
Source avec Zip Source avec une capture Source .NET (Dotnet) UNLOCK TOOL BASE par ayoube2009
Source avec Zip Source .NET (Dotnet) CLASSE XMLMAPPER par Warny
Source avec Zip Source avec une capture Source .NET (Dotnet) USERCONTROL DE GESTION DE PLUSIEUR LISTE D'OBJECT par yohan49

 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 ajouter un bouton dans une tab controle [ par jihednond ] j'ai voulu ajouter un composent webbrowser dans une tabcontrole en clicant sur les touche Ctrl + T bon pour ajouter une tab j'ai pas eu de problème Contrôle WPF dans Winforms. Les boutons ne sont pas cliquables. [ par mathdu57 ] Bonjour, J'ai récemment créé une classe WPF contenant des menus ribbon (Style menu office 2007). Elle fonctionne parfaitement dans un projet WPF C#, winforms automatiquement recadré [ par ljoli ] Bonjour, je débute avec C# et les WINFORMS. Je voudrais savoir comment ajuster automatiquement ce qu'il y a dans la winforms lorsque celle ci est ag code c# pour recuperer l resultat dans un webbrowser [ par GhostMoon ] mon application consiste à integrer un logciel qui gènère un fichier html en arrière plan et le fichier générer sera presenté dans un webbrowser !!! Probleme webbrowser et flash [ par Mage splinter ] Bonjour, j'ai fait une application toute simple, qui permet d'accès à une page html avec le contrôle webbrowser, la page s'affiche bien sauf l'animati probleme webbrowser [ par Mage splinter ] Bonjour tout le monde, voilà, sur une application en c# avec webbrowser j'ai une erreur avec ce code 0x75520dd3 lorsque je recherche cette erreur je


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

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,796 sec (3)

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