Contrôle WebBrowser dans l'application windows form à l'aide de C#
Je suis en train de créer un formulaire avec un contrôle webbrowser. Je suis en train d'essayer d'ouvrir un fichier html local dans le contrôle webbrowser. J'ai le fichier html dans Help_Print dossier, donc je suis en utilisant le code ci-dessous pour spécifier l'Url de la webbrowser.
wbPrint.Url = new Uri("file:///" + Application.StartupPath + "\\Help_Print\\help.html");
Lorsque le formulaire indique le contrôle webbrowser a un message d'erreur "Ce programme ne peut pas afficher la page web". J'ai vérifié le fichier et l'emplacement du dossier.
Mais quand j'ai essayer ceci:
wbPrint.Url = new Uri("file:///" + Application.StartupPath + "/help.html");
après avoir copié le fichier html à l'application à l'emplacement de démarrage il fonctionne correctement.
Quelqu'un peut-il expliquer pourquoi est-ce qui se passe, que je veux garder tous les fichier html dans un dossier séparé.
Vous devez vous connecter pour publier un commentaire.
Ne pas utiliser le noir barres obliques dans le fichier url. Voir l'étrange histoire malheureuse de fichier url.
J'ai trouvé une solution à mon problème même si je ne suis pas sûr de savoir pourquoi mon code ne fonctionnait pas. J'ai changé deux chose:
(i) supprimer Uri, comme me l'a suggéré en réponse à une question différente de la mienne, que pour les fichiers html locaux, je ne suis pas requis pour utiliser l'Uri. Voici donc le code du travail.
(ii) L'autre chose que j'ai faite a été de créer le Print_Help dossier manuellement. Auparavant, il a été créé lorsque je construis mon Projet en tant que fichier html a été marquée la propriété de la Copie vers le Répertoire de Sortie en tant que Copie Toujours.
Je pense que le deuxième changement a plus à voir avec mon problème solution que la première. S'il vous plaît commentaire si vous comprenez la logique.
utilisez la syntaxe: file://c:/xyz.html