J'ai un contrôle utilisateur, et il n'est pas dessiné correctement, comment déboguer le dessin? Si je règle le point d'arrêt, le contrôle sera bloqué, je ne peux pas voir le résultat du dessin instantanément? une idée?Comment déboguer GDI + dans C#?
3
A
Répondre
4
Ce que vous avez besoin est le Graphics Debugger visualizer.
3
Il est préférable de déboguer les activités de dessin avec une configuration à plusieurs moniteurs, mais il y a une poignée d'autres choses qui peuvent vous aider si vous n'avez qu'un seul moniteur. Repositionnement de votre IDE (Visual Studio) de manière à ce qu'il ne se chevauche pas.
- Malheureusement, cela peut ne pas aider si vous avez besoin d'une focalisation active sur le contrôle.
- Dessinez une deuxième copie dans une image bitmap et écrivez la bitmap sur le disque ou réaffichez-la dans une boîte de dialogue ou dans une autre fenêtre. C'est un peu de travail supplémentaire, mais conceptuellement la même chose que faire de la journalisation. Modifiez votre code de dessin de sorte que certains éléments ou certaines parties d'éléments ne soient dessinés que si vous appuyez sur certaines touches (décalage gauche/droite, ctrl, alt ou une combinaison de ces touches). Ceci est facile à ajouter et peut vous permettre de filtrer des parties de votre code qui seraient difficiles à franchir avec le débogueur.
Voici la fonction qui peut vous fournir l'état (requiert p/invoke) et la signature de pinvoke.net.
GetKeyState Function() @ MSDN
pinvoke.net: GetKeyState (user32)