Créer un nouveau composant graphique avec affichage dans le designer
cs_cfz
Messages postés23Date d'inscriptionvendredi 13 janvier 2006StatutMembreDernière intervention 4 mars 2006
-
19 janv. 2006 à 14:57
cs_cfz
Messages postés23Date d'inscriptionvendredi 13 janvier 2006StatutMembreDernière intervention 4 mars 2006
-
19 janv. 2006 à 20:47
Bonjour,
Etant à la découverte du monde fabuleux de C# et .Net je voudrais créer un nouveau composant "test" dans lequel il y aurait un petit dessin.
Voici une partie du code simplifié :
public
class
MenuButton : System.Windows.Forms.
Control
{protected
override
void OnPaint(
PaintEventArgs pe)
{
Point[] Pts =
new
Point[] {
new
Point(5,5),
new
Point(15,15),
new
Point(5,15),
new
Point(5,5)};
pe.Graphics.DrawPolygon(
new
Pen(
Color.Black),Pts);
}}
Ca marche très bien lorsque j'exécute mon programme de test. Mais j'aimerais bien que ce petit triangle noir apparaisse également dans le designer. Comment faire ?
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 19 janv. 2006 à 15:06
Bonjour,
On ne peut pas voir ton image car elle se situe en local sur ton ordinateur.
Sinon, si je teste ton code, il s'affiche tres bien dans le designer
cs_cfz
Messages postés23Date d'inscriptionvendredi 13 janvier 2006StatutMembreDernière intervention 4 mars 2006 19 janv. 2006 à 15:28
Bonjour,
Il y a qqch que je ne comprend pas... ca fait plus d'une demi-heure que je suis dessus, a faire compilation sur compilation pour essayer de comprendre pourquoi il n'affiche pas mon petit dessin.
J'ai envoyé ce message après avoir fermé Visual Studio en désespoir de cause.
Suite a votre message j'ai réouvert Visual Studio et la tout marche parfaitement...
Merci en tout cas... je n'ai pas tout compris, mais on va dire que C la dure loi de l'informatique ;) l'essentiel étant que ca marche ;)
++
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 19 janv. 2006 à 19:55
Salut, à moins que ce soit uniquement pour l'exemple sinon je te conseil de créer ton tableau de points en dehors de la méthode OnPaint, pour "le stylo" tu peux utiliser les constantes de la classe Pens.
cs_cfz
Messages postés23Date d'inscriptionvendredi 13 janvier 2006StatutMembreDernière intervention 4 mars 2006 19 janv. 2006 à 20:47
Merci pour les conseils, je n'avais pas encore regardé pour les pens... je viens juste de l'installer.. ya tellement de choses à voir!!! trop cool .Net!!!
Rq.: il s'agit bien d'un code que j'ai écris vite fait pour l'exemple, il n'y avait aucun interet à surcharger ma question avec le code du composant que je créé. Il va de soit que mon OnPaint est inutilement trop gourmand ;)
Pour ce qui est de mon problème d'origine, j'ai compris le fonctionnement... mais c'est peut-être dut a un "bug" (ou d'un mauvais effet de bord) du designer de Visual Studio Express 2005. En effet, le designer affiche le composant tel qu'il est défini lors du premier test. Après quoi, le seul moyen que j'ai trouvé pour qu'il tienne compte des modifications est de relancer Visual Studio.
En tout cas un grand merci et un grand bravo à ce site, son forum et tout ceux qui le font vivre. Rapide et sérieux.. que demander de plus :)
A très bientôt sans doute en espérant un jour pouvoir répondre également aux questions posées.