Bonjour à tous/tes.
Ma question est peut-être idiote, mais je me demande s'il existe un moyen d'intégrer un contrôle ASP.NET dans un formulaire Winforms, p.ex. via un contrôle WebBrowser.
Merci d'avance pour vos suggestions...
Bonjour à tous/tes.
Ma question est peut-être idiote, mais je me demande s'il existe un moyen d'intégrer un contrôle ASP.NET dans un formulaire Winforms, p.ex. via un contrôle WebBrowser.
Merci d'avance pour vos suggestions...
Via un contrôle WebBrowser, c'est possible... à condition d'avoir un serveur ASP.NET en face.
Mais je ne vois vraiment pas l'intérêt... tu cherches à faire quoi au juste ?
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Tout d'abord merci pour la réponse et désolé du manque de suivi de ma part (semaine chargée).
Ma question était théorique autant que pratique.
Concrètement, la question s'est posée pour savoir s'il était possible d'utiliser dans une application WinForms un contrôle tiers Google Maps développé pour ASP.Net.
Dans ce contexte, si j'ai bien compris, je n'ai pas de "serveur ASP.Net en face" (du reste ce serait bien aimable de développer ce que tu entends par là...)
Bah un contrôle ASP.NET ne peut fonctionner que s'il y a un serveur pour l'exécuter...
Cela dit, en l'occurrence tu n'as pas besoin d'ASP.NET, tu peux mettre une carte Google Maps dans n'importe quelle page HTML et l'afficher dans ton WebBrowser. Tu peux même "piloter" ce qui se passe dans le WebBrowser à partir du code C#, en appelant des fonctions Javascript à l'aide de la méthode InvokeScript du document.
J'avais fait ça il y a quelque temps dans un petit projet perso. En gros, il faut une page web qui charge une carte à l'aide de l'API Google Maps :
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- saved from url=(0016)http://localhost --> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title>Vélib</title> <script src="http://maps.google.com/maps?file=api&v=2&sensor=false&key=ABQIAAAA9-pSf174c9Gfpkivlakd3RT2yXp_ZAY8_ufC3CFXhHIE1NvwkxRJx3cc83yi80AXN9jDx78wcUn2UA" type="text/javascript"></script> <script type="text/javascript"> var marker; var map; function initialize() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map_canvas")); var loc = new GLatLng(48.8167966873, 2.38159495418); map.setCenter(loc, 13); map.setUIToDefault(); } } function gotoLocation(lat, lng) { if (!map) { initialize(); } var loc = new GLatLng(lat, lng); if (marker) { marker.setLatLng(loc); } else { marker = new GMarker(loc); map.addOverlay(marker); } map.setCenter(loc); } </script> </head> <body onunload="GUnload()"> <div id="map_canvas" style="width: 100%; height: 100%"></div> </body> </html>
(le commentaire sur la 2e ligne est nécessaire, c'est le "Mark of the web", qui permet à une page web locale de s'exécuter sans restriction de sécurité)
Et ensuite, pour aller à une position spécifique de la carte à partir du code C# :
Code : Sélectionner tout - Visualiser dans une fenêtre à part webBrowser1.Document.InvokeScript("gotoLocation", latitude, longitude);
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Merci pour la réponse.
Cela dit, je ne cherche pas à développer mon propre contrôle Goggle Maps (en fait je l'ai déjà fait) mais bien - ce point est essentiel - à utiliser un contrôle existant, développé par des tiers (il en existe quelques uns disponibles sur le web).
Ces contrôles ont été développés pour ASP.Net et je cherche à les utiliser - ou à les adapter - pour tourner dans un formulaire WinForms. C'est sur ce point précis, et uniquement celui-ci que portent mes investigations.
Donc si qqn a la solution ...
Comme je te l'ai dit, il n'y en a pas (sauf à vouloir exécuter un serveur ASP.NET sur le poste client, mais ça me semble un peu disproportionné). Les technologies Windows Forms et ASP.NET n'ont strictement rien à voir, tu ne peux pas pas utiliser sur l'une des contrôles développés sur l'autre...
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Partager