Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : GDI+ Problème dans mon panel avec scrollbar [ Multimédia / Autre ] (Krazplay)

mardi 15 mai 2007 à 01:02:09 | GDI+ Problème dans mon panel avec scrollbar

Krazplay

Bonjour,
je ne sais pas du tout si c'est la bonne section, mais j'avoue que je ne savais pas où poser la question exactement.

J'ai une fenêtre Graphic_Form qui contient un Panel panel1, et je dessine dans ce panel.
En gros j'ai (là dans la class Graphic_Form donc):
this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.panel1_Paint);

et donc plus loin :

        private void panel1_Paint(object sender, PaintEventArgs pe)
        {
             Graphics g;
             g = pe.Graphics;
             // Suivi de mon graphe...
             g.Dispose();

Jusque là pas de problème, mon graphe se dessine parfaitement et tout et tout.
Le problème vient du fait que lorsque mon graphe est trop grand, je fais apparaitre une scrollbar à l'aide de :
this.panel1.AutoScrollMinSize = new Size(600,600);
Cela juste après le g.Dispose(); , mais j'ai essayé de le déplacer ça ne résoud pas le problème.

Problème qui est : lorsque je veux faire défiler mon graphe vers la droite (où à gauche, où en bas, etc), ça ne fonctionne pas comme ça le devrait, le graphe est effectivement décalé à gauche, mais c'est du blanc qui apparait à droite, le graphe ne devrait-il pas être redéssiné comme lorsque qu'on redimensionne la fenêtre ? (où là il n'y a aucun problème, tout revient dans l'ordre)

Je ne vois pas comment je peux résoudre ce problème en fait, je ne suis pas expert en csharp et c'est la première que je fais un graphe avec. ^^"
Merci d'avance si quelqu'un sait résoudre ce problème.

PS : J'ai pas trouvé de balise code, c'est normal ?

mardi 15 mai 2007 à 18:47:38 | Re : GDI+ Problème dans mon panel avec scrollbar

ricklekebekoi

essai en faisant .Invalidate() de ton panel au moment du scroll ?

Eric

jeudi 17 mai 2007 à 20:36:14 | Re : GDI+ Problème dans mon panel avec scrollbar

Krazplay

J'avais oublié un petit quelque chose, ça va un peu mieux mais ça ne résoud pas complètement le problème d'affichage.
        private void panel1_Paint(object sender, PaintEventArgs pe)
        {
             Graphics g;
             g = pe.Graphics;

             g.ScaleTransform(zoom, zoom, MatrixOrder.Append);  // Permet de zoomer sur mon graphe
             g.TranslateTransform(panel1.AutoScrollPosition.X, panel1.AutoScrollPosition.Y);  // Décalage du graphe

             this.panel1.AutoScrollMinSize = new Size (longueur_graphe, hauteur_graphe) // Le zoom change la taille

             // Suivi de mon graphe...
             g.Dispose();
        }

J'avais oublié le g.TranslateTransform(panel1.AutoScrollPosition.X, panel1.AutoScrollPosition.Y), ça décale le dessin en fonction du scroll et donc ça le dessine à la bonne place.

Mais j'ai toujours un problème, parfois ça ne se dessine toujours pas correctement, mais cette fois-ci il semblerait que ça soit à cause de mon zoom.
Quand j'appuie sur mon bouton zoom il n'y a pas de problème, c'est ensuite à force de scroller un peu dans tout les sens, l'affichage commence à foirer (l'affichage se répète, par exemple les 50 pixels les plus à droite sont reproduit dans les 50 nouveaux pixels qui apparaissent), ça ne le fait pas systématiquement !
Si je zoom puis dezoom effectivement le problème disparait, parceque je fais un panel1.Invalidate(), mais comment faire pareil avec le scrolling ?

Là c'est un autoscrolling de panel1, dans la liste d'évènement il n'y rien comme évènement Scroll ou quelque chose s'en approchant  :/




Cette discussion est classé dans : problème, graphe, panel, scrollbar, panel1


Répondre à ce message

Sujets en rapport avec ce message

Problème affichage panel [ par ellandebasque ] Bonjour,je suis confronté à un problème d'affichage.Mon process : je crée deux panels avec leur user controls respectifs. J'affiche le panel1 (visible Impression Composant > problème "Zindex" [ par Bubuss ] BonjourJ'ai réalisé un composant permettant qui va me générer un panel et qui par la suite va me générer un label recouvrant le panelJ'ai ensuite fait Problème d'affichage de mon formulaire [ par julien_eymard ] Bonjour à tous,mon application n'a pas le comportement que je voudrais. Mon formulaire principal contient 1 panel.Je lance mon application. Je vais da Problème avec graphics + scintillement + Problème [ par emmanuel9 ] Bonjour à tous, En faite mon problème est que j'ai un premier panel avec du text sous forme de graphics (DrawString()) et une autre panel avec un ca scrollbar [ par manou2005 ] Bonjour, j'utilise un panel sur lequel je dessine des rectangles, S.V.P, dites-moi comment faire pour associer un scrollBar au panel lorsque le rectan Print screen Panel1 [ par cpadmin ] Bonjours!Voilà j'ai dans ma form1 un panel qui contient plusieurs picturebox.J'ai avec cette forme un main menu avec un bouton enregistrer.Le travail Objet dynamique .net. [ par jonguerre ] Bonjour,Petite question je crée 2 objets Panel (panel1,panel2);panel1 = new System.Windows.Forms.Panel();panel2 = new System.Windows.Forms.Panel();J'a scrollbar pocket pc [ par krypton78 ] bonjour a tous.je suis en train de developper une petite application sur pocket pc et je reste bloqué par un scrollbar. En fait j'ai un panel et je so Panel [ par emmanuel9 ] Bonjour à tous, J'ai pleins de panel qui font la même taille et qui ont chacun un  bouton suivant et precedent. Tous ces panels sont les uns en dess PictureBox effacée [ par sphaxslayer ] Salut tout l'mondeJe code en C# et j'ai un problème avec mes pictureBoxes, enfait, j'ai des boutons dans lesquels j'ai mis des petites pictureBoxes. L


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.