C# comment désactiver webbrowser utilisation
J'ai une application en C# qui a un webbrowser et doivent être en mesure de désactiver complètement à la fois. Quelle est la meilleure méthode de faire cela?
Je pensais à la création d'un panneau transparent pour mettre sur le webbrowser cas de besoin, mais je ne suis pas sûr si c'est la meilleure approche. J'ai aussi remarqué que le C# n'est pas facilement permettre de faire un panneau transparent.
Edit: Pour clarifier ce que je veux dire par désactiver...je ne veux pas permettre à l'utilisateur d'être en mesure de cliquer ou de modifier\modifier quoi que ce soit dans le webbrowser.
Vous voulez peut-être ajouter des tags pertinents, aussi; ce n'est pas seulement un C# question, mais une WinForms ou WPF question. Vous allez amener les gens à la recherche de ces sortes de choses avec les bonnes balises. 🙂
Merci pour l'astuce. Je suis nouveau ici. 🙂
Voir ma réponse ci-dessous sur la façon de désactiver complètement le contrôle est lorsque vous définissez Enabled à false.
Merci pour l'astuce. Je suis nouveau ici. 🙂
Voir ma réponse ci-dessous sur la façon de désactiver complètement le contrôle est lorsque vous définissez Enabled à false.
OriginalL'auteur MD6380 | 2009-02-26
Vous devez vous connecter pour publier un commentaire.
Curieusement, le contrôle WebBrowser, n'a pas Permis à la propriété que vous pourriez vous attendre. Vous pouvez définir la AllowNavigation valeur false à la propriété qui ne cessera de l'utilisateur en cliquant sur les liens.S'avère qu'il possède une propriété Enabled, hérité de Contrôle. Mais vous devez explicitement exprimés pour le Contrôle d'accès:
Vous devriez être au courant si ce paramètre est Activé complètement désactive toute interaction de l'utilisateur avec le contrôle WebBrowser. Qui comprend la barre de défilement, donc une fois que vous définissez Enabled à false, l'utilisateur peut même pas faire défiler la page web dans le contrôle.
Si c'était plus que ce que vous souhaitiez, puis en réglant les AllowNavigation valeur false à la propriété va s'arrêter à l'utilisateur de cliquer sur des liens, mais encore de leur permettre de faire défiler la page. Vous auriez besoin de vérifier si qu'il arrête également de Javascript onclick événements de tir.
Si vous vouliez arrêter tous les événements de tir dans la page, vous pouvez sans doute obtenir que certains DOM travail de la WebForms code dans le contrôle WebBrowser. Vous avez aussi probablement besoin de commencer la désactivation des contrôles d'entrée dans le WebBrowser. Tout dépend comment désactivé vous le souhaitez.
Oui, il fonctionne. Mais je comprends votre préoccupation, je ne sais pas pourquoi il le cache.
Pourquoi la baisse de vote ? Craignez-vous qu'Permis caché pour une raison ou pour autre chose ?
C'est possible, il a été downvoted avant que vous l'avez édité votre post.
les gens à trouver beaucoup de choses en regardant la documentation. La propriété Enabled est documenté pour le contrôle WebBrowser, mais la documentation dit qu'elle n'est pas prise en charge.
OriginalL'auteur andynormancx
En fonction de votre dernier commentaire, je suppose que vous utilisez WinForms. (WPF ne permettent de panneaux transparents assez facilement :-)) Cela signifie que vous êtes à l'aide de la
Navigateur
de contrôle. Avez-vous essayé l'établissement de sesActivé
valeur false à la propriété?Je soupçonne que l'interlocuteur cherché un Permis de la propriété et du contrôle WebBrowser de faire un bon travail de cacher le fait qu'il a un caché. Le fait qu'il cache la propriété Enabled me fait me demander si cette propriété en fait, il fonctionne dans tous les cas sur tous les Systèmes d'exploitation.
Il ne s'affiche pas dans Intellisense en raison d'un conflit entre le Permis hérité de Contrôle et de Permis hérité de WebBrowserBase. Toutefois, la propriété est documenté et de passer à Contrôle fonctionne sur tous les Systèmes d'exploitation.
andynormancx du commentaire ci-dessus montre comment faire en WinForms.
oui, il n'. Il a édité sa réponse basée sur la mienne. Ce n'est pas une raison pour downvote ma réponse.
OriginalL'auteur Franci Penov
Quand vous dites "désactiver", que voulez-vous dire? Si vous définissez la "Enabled" valeur false à la propriété, il sera désactivé, cela fonctionne pour tous les contrôles de formulaire. Mais si vous en avait besoin, vous pouvez définir un panneau transparent en définissant c'est BackColor.
Mise à JOUR:
Effectivement, vous avez raison, c'est un wrapper pour un contrôle ActiveX, donc ce n'est pas un typique WinForms de contrôle. Ce que vous voulez, c'est la transparence paenl solution. Ce mec Tobi a une solution sur son blog:
http://saftsack.fs.uni-bayreuth.de/~dun3/archives/creating-a-transparent-panel-in-net/108.html
l'idée de base est primordial de cette méthode sur le panneau de la classe:
OriginalL'auteur LoveMeSomeCode
Pouvez-vous supprimer le webbrowser de son parent tableau de Contrôle?
OriginalL'auteur cjk
En VB: DirectCast(WebBrowser1, Contrôle).Activé = False
OriginalL'auteur user2048591