begin process at 2012 02 11 11:22:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

UserControl

 > 

Diificulté d'affichage d'un control personnalisé


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Diificulté d'affichage d'un control personnalisé

mercredi 7 mars 2007 à 13:41:14 | Diificulté d'affichage d'un control personnalisé

z_san

bonjour

voilà j'ai un ptit soucis avec un controle que je crée en ce moment, le controle et un graph qui affiche de chronogrammes en tps réel, j'ai déssiné dans une picture box mes ligne et la graduation en utilisant la méthode avec pen et graphics.

Quand je glisse mon controle sur une feuille pour l'y insérer je ne vois pas les lignes dessinée, je ne les vois que si je bouge un control sur ma feuille ou si je bouge le controle lui même, j'ai bien mis tout mes tracés dans la fonction onPaint de mon Control mais la j'avoue etre un peu perdu merci de m'aider

Z.
mercredi 7 mars 2007 à 14:05:36 | Re : Diificulté d'affichage d'un control personnalisé

Bidou

Administrateur CodeS-SourceS
Salut,
Sans aucune ligne de code, ça va être assez difficile de t'aider





-Blog-
mercredi 7 mars 2007 à 14:53:04 | Re : Diificulté d'affichage d'un control personnalisé

sebmafate

Membre Club Administrateur CodeS-SourceS
tu peux toujours essayé de faire un this.Refresh() dans le Load de ton control.


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
mercredi 7 mars 2007 à 15:11:03 | Re : Diificulté d'affichage d'un control personnalisé

z_san

voilà le constructeur et OnPaint

public Essai()
        {
            InitializeComponent();
            Pen pen = new Pen(Color.Black);
            Graphics graphics = picGraph.CreateGraphics();

            //lignes
            graphics.DrawLine(pen, 0, 30, 600, 30);     //CPC
            graphics.DrawLine(pen, 0, 60, 600, 60);     //RPC
            graphics.DrawLine(pen, 0, 90, 600, 90);     //RVP
            graphics.DrawLine(pen, 0, 120, 600, 120);   //CFP
            graphics.DrawLine(pen, 0, 150, 600, 150);   //RCFP
            graphics.DrawLine(pen, 0, 180, 600, 180);   //CJC
            graphics.DrawLine(pen, 0, 210, 600, 210);   //RJC
            graphics.DrawLine(pen, 0, 240, 600, 240);   //RDT
            graphics.DrawLine(pen, 0, 270, 600, 270);   //REP1
            graphics.DrawLine(pen, 0, 300, 600, 300);   //REP2
            graphics.DrawLine(pen, 0, 330, 600, 330);   //REP3
            graphics.DrawLine(pen, 0, 360, 600, 360);   //CVE

            //Graduations
            graphics.DrawLine(pen, 20, 0, 20, 2);
            graphics.DrawLine(pen, 40, 0, 40, 2);
            graphics.DrawLine(pen, 60, 0, 60, 2);
            graphics.DrawLine(pen, 80, 0, 80, 2);
            graphics.DrawLine(pen, 100, 0, 100, 5);

            graphics.DrawLine(pen, 120, 0, 120, 2);
            graphics.DrawLine(pen, 140, 0, 140, 2);
            graphics.DrawLine(pen, 160, 0, 160, 2);
            graphics.DrawLine(pen, 180, 0, 180, 2);
            graphics.DrawLine(pen, 200, 0, 200, 5);

            graphics.DrawLine(pen, 220, 0, 220, 2);
            graphics.DrawLine(pen, 240, 0, 240, 2);
            graphics.DrawLine(pen, 260, 0, 260, 2);
            graphics.DrawLine(pen, 280, 0, 280, 2);
            graphics.DrawLine(pen, 300, 0, 300, 5);

            graphics.DrawLine(pen, 320, 0, 320, 2);
            graphics.DrawLine(pen, 340, 0, 340, 2);
            graphics.DrawLine(pen, 360, 0, 360, 2);
            graphics.DrawLine(pen, 380, 0, 380, 2);
            graphics.DrawLine(pen, 400, 0, 400, 5);

            graphics.DrawLine(pen, 420, 0, 420, 2);
            graphics.DrawLine(pen, 440, 0, 440, 2);
            graphics.DrawLine(pen, 460, 0, 460, 2);
            graphics.DrawLine(pen, 480, 0, 480, 2);
            graphics.DrawLine(pen, 500, 0, 500, 5);

            graphics.DrawLine(pen, 520, 0, 520, 2);
            graphics.DrawLine(pen, 540, 0, 540, 2);
            graphics.DrawLine(pen, 560, 0, 560, 2);
            graphics.DrawLine(pen, 580, 0, 580, 2);

        }

        private void Essai_Paint(object sender, PaintEventArgs e)
        {
            Pen pen = new Pen(Color.Black);
            Graphics graphics = picGraph.CreateGraphics();

            //lignes
            graphics.DrawLine(pen, 0, 30, 600, 30);     //CPC
            graphics.DrawLine(pen, 0, 60, 600, 60);     //RPC
            graphics.DrawLine(pen, 0, 90, 600, 90);     //RVP
            graphics.DrawLine(pen, 0, 120, 600, 120);   //CFP
            graphics.DrawLine(pen, 0, 150, 600, 150);   //RCFP
            graphics.DrawLine(pen, 0, 180, 600, 180);   //CJC
            graphics.DrawLine(pen, 0, 210, 600, 210);   //RJC
            graphics.DrawLine(pen, 0, 240, 600, 240);   //RDT
            graphics.DrawLine(pen, 0, 270, 600, 270);   //REP1
            graphics.DrawLine(pen, 0, 300, 600, 300);   //REP2
            graphics.DrawLine(pen, 0, 330, 600, 330);   //REP3
            graphics.DrawLine(pen, 0, 360, 600, 360);   //CVE

            //Graduations
            graphics.DrawLine(pen, 20, 0, 20, 2);
            graphics.DrawLine(pen, 40, 0, 40, 2);
            graphics.DrawLine(pen, 60, 0, 60, 2);
            graphics.DrawLine(pen, 80, 0, 80, 2);
            graphics.DrawLine(pen, 100, 0, 100, 5);

            graphics.DrawLine(pen, 120, 0, 120, 2);
            graphics.DrawLine(pen, 140, 0, 140, 2);
            graphics.DrawLine(pen, 160, 0, 160, 2);
            graphics.DrawLine(pen, 180, 0, 180, 2);
            graphics.DrawLine(pen, 200, 0, 200, 5);

            graphics.DrawLine(pen, 220, 0, 220, 2);
            graphics.DrawLine(pen, 240, 0, 240, 2);
            graphics.DrawLine(pen, 260, 0, 260, 2);
            graphics.DrawLine(pen, 280, 0, 280, 2);
            graphics.DrawLine(pen, 300, 0, 300, 5);

            graphics.DrawLine(pen, 320, 0, 320, 2);
            graphics.DrawLine(pen, 340, 0, 340, 2);
            graphics.DrawLine(pen, 360, 0, 360, 2);
            graphics.DrawLine(pen, 380, 0, 380, 2);
            graphics.DrawLine(pen, 400, 0, 400, 5);

            graphics.DrawLine(pen, 420, 0, 420, 2);
            graphics.DrawLine(pen, 440, 0, 440, 2);
            graphics.DrawLine(pen, 460, 0, 460, 2);
            graphics.DrawLine(pen, 480, 0, 480, 2);
            graphics.DrawLine(pen, 500, 0, 500, 5);

            graphics.DrawLine(pen, 520, 0, 520, 2);
            graphics.DrawLine(pen, 540, 0, 540, 2);
            graphics.DrawLine(pen, 560, 0, 560, 2);
            graphics.DrawLine(pen, 580, 0, 580, 2);
        }
mercredi 7 mars 2007 à 15:17:24 | Re : Diificulté d'affichage d'un control personnalisé

sebmafate

Membre Club Administrateur CodeS-SourceS
ca ne sert à rien de dessiner dans le constructeur...

il vaut mieux faire un Refresh() au premier affichage du controle.


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
mercredi 7 mars 2007 à 15:25:57 | Re : Diificulté d'affichage d'un control personnalisé

z_san

sur la form ou je l'insert ?
mercredi 7 mars 2007 à 15:29:17 | Re : Diificulté d'affichage d'un control personnalisé

sebmafate

Membre Club Administrateur CodeS-SourceS
dans le code de ton controle


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
jeudi 8 mars 2007 à 09:43:00 | Re : Diificulté d'affichage d'un control personnalisé

z_san

Un update a été plus approprié en fouillant un peu plus, le refresh me causait des problème de réaffichage.

Je me posais la question comment faire défiler un graphe sur ces lignes en fonctions d'une base de temps, je m'explique ce controle devra afficher un chronogramme d'échange entre une supervision et un automate, la partie système fonctionne, dans le cahier des charges, on doit pouvoir mettre en pause le chronograme, faire des zooms avant et arrière.

Merci
jeudi 8 mars 2007 à 15:45:28 | Re : Diificulté d'affichage d'un control personnalisé

Lutinore

Administrateur CodeS-SourceS
Ouaip c'est clair qu'il ne faut pas dupliquer le code comme ça.. Un DrawLines ameliorait les perfs. ; )
jeudi 8 mars 2007 à 15:49:15 | Re : Diificulté d'affichage d'un control personnalisé

Lutinore

Administrateur CodeS-SourceS
C'est bizarre également, ( même si c'est valide  ) d'appeler CreateGraphics dans une methode OnPaint, autant dessiner dans le bon évènement Paint.. Et appele Dispose après avec CreateGraphics.

1 2

Cette discussion est classée dans : controle, control, affichage, personnalisé, diificulté


Répondre à ce message

Sujets en rapport avec ce message

Controle composite [ par Frederyck ] Salut !!Alors toujours dans la rubrique controle composite, cette fois ci je souhaiterai savoir si quelqu'un pouvait m'expliquer clairement lors de la Impression d'un controle [ par MorpionMx ] Bonjour a tous, J'ai dans un Panel 2 Control persos. Et j'aimerais imprimer ces 2 Control l'un a coté de l'autre, ou alors ce qu'il y a dans le Pane Comment utiliser un controle sans le deposer sur une forme [ par francesdereve ] Je fais une application qui doit utiliser le control Microsoft Communication Control ,mais je dois faire une bibliotheque de fonction(dll). Comment fa Equivalent à Control.Invoke? [ par leprov ] Existe-t-il un équivalent à la méthode control.invoke qui aie la meme fonctionnalité, mais lorsque l'on ne dispose pas d'un controle? c'est plus une c Remplissage controle [ par juanfs ] Bonjour,Est il possible en c# de remplir un control directement avec un objet, c'est a dire gérer le remplissage avec un labelProvider(comme en java) Pb affichage control perso [ par zebobo5 ] Kikoo à ts les dev! Petit pb de rafraichissement sur un control personnalisé : En fait ca me fait ca lorsque g par Evennement onClick sur tou mon control [ par jabbour0000 ] Comment ajouter un evennement onClick sur toute une controle par exemple: Mon controle contient des labels et un picturebox je veut que quand je cliq Probleme d'affichage d'un user control [ par taulard ] Bonjour, Premièrement voici le lien de ma source qui me pose un problème : http://regis.10gbfreehost.com/source/Boutonnerie.zip Le problème que j redessiner un control sacadé [ par ducker88 ] Bonjour a tous, J'ai derivé un controle (Panel) dans le but de le personnalisé en le redessinant. Je le redimmensionne a l'aide d'un timer sur clic ut Control personnalisé [ par Frederyck ] Bonjour,Alors mon soucis est le suivant:Voyez vous dans Visual Studio, dans la fenêtre Propriété d'un control serveur, par exemple Label, une des prop


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales