Quelle est la meilleure manière de rafraîchir un composant webbrowser ?

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour,

Je souhaite réaliser une petite application qui permettrait de taper du code HTML et de voir la vue rendue en temps réel. Je n'ai pas le choix d'utiliser un langage autre que le C# (les cours…).

Je souhaiterai faire l'équivalent d'un éditeur comme brackets qui permet d'avoir la vue en temps réel. Un timer me semble carrément dégueulasse mauvais pour réaliser ce genre de choses.

Actuellement l'application est bien avancée, c'est surtout ce dernier point qu'il me manque. Je remercie toutes les personnes qui pourront m'apporter leur aide :) !

Merci Kenshim

Édité par kenshimdev

+0 -0

Avec un radiateur + un bon ventilateur ? :lol:

Comme souvent, l'alternative au timer (polling) est l’événement (interruption). Je n'ai jamais touché au C#, mais conceptuellement, je mets ces 2 méthodes en "rivalité". Tu pourrais probablement rafraichir lorsqu'une balise se ferme ?

Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison - Coluche

+2 -0

Il faut écouter là zone de texte, quand elle est modifié tu actualise ton rendu.

Je ne saurais pas le faire en c# car je ne fais que du Java, mais il devrait exister des possibilité de créer des listeners.

+0 -0
Auteur du sujet

Wow déjà tant de réponses ! Merci à tous :).

Sans code de base pour travailler, je ne saurais te dire plus que : met un delegate (si possible async) sur l'événement Change de ta zone de texte.

artragis

J'utilise cette DLL pour l'éditeur : https://github.com/jacobslusser/ScintillaNET

Je pourrais en effet lire contenu texte de ce composant et mettre à jour le composant webbrowser lorsque l'événement Changeest appelé.

Pourrais-tu en revanches m'expliquer le but concret d'un delegate ici ? (Je vais cependant aller relire la documentation sur les delegate !)

Cdlt, Kenshim

Édité par kenshimdev

+0 -0
Staff

Bah en fait un delegate c'est simplement une fonction vue en tant qu'objet (donc le nom de la fonction ou bien une fonction anonyme) et qui sera appelé lors de l'événement.

le "delegate" c'est en fait la partie à droite du += quand tu fais mabox.Change += this.maFonctionOnChange;

+1 -0
Auteur du sujet

Bah en fait un delegate c'est simplement une fonction vue en tant qu'objet (donc le nom de la fonction ou bien une fonction anonyme) et qui sera appelé lors de l'événement.

le "delegate" c'est en fait la partie à droite du += quand tu fais mabox.Change += this.maFonctionOnChange;

artragis

Ok merci, ma question était un peu idiote ! Je vais faire des tests dès lors que j'aurais un peu de temps et je reviendrai ici :)

+0 -0
Auteur du sujet

J'ai des erreurs javascript avec le webbrowser de base… J'ai vu CefSharp mais il faut installer pas mal de dépendances :(.

PS : Pour l'instant, j'utilise cette alternative

1
wbRender.ScriptErrorsSuppressed = true;

Édité par kenshimdev

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte