Créer un nouveau composant graphique avec affichage dans le designer

cs_cfz Messages postés 23 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 4 mars 2006 - 19 janv. 2006 à 14:57
cs_cfz Messages postés 23 Date d'inscription vendredi 13 janvier 2006 Statut Membre Derniè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 ?

Merci d'avance.

4 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
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




Mx
MVP C#
0
cs_cfz Messages postés 23 Date d'inscription vendredi 13 janvier 2006 Statut Membre Derniè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 ;)
++
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
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.
0
cs_cfz Messages postés 23 Date d'inscription vendredi 13 janvier 2006 Statut Membre Derniè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.
0
Rejoignez-nous