IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

text sur graphic de PictureBox qui disparaît


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut text sur graphic de PictureBox qui disparaît
    Bonsoir,
    Je mets du texte sur une pictureBox directement sur son graphic.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    //this est un picturebox
    graph = this.CreateGraphics();
          font = new Font("Microsoft Sans Serif", (float)8.5, FontStyle.Bold);
          format = new StringFormat(StringFormatFlags.NoClip);
          format.Alignment = StringAlignment.Center;
          brush = new SolidBrush(Color.Black);
          size = new Size(this.Width, (int)font.GetHeight());
          rectangleF = new RectangleF(new Point(0, 0), size);
          sizeF = graph.MeasureString(Name, font);
          if (sizeF.Width > this.Width)
          {
            this.Width = (int)Math.Ceiling(sizeF.Width);
          }
          graph.DrawString(Name, font, brush, rectangleF, format);
    Chaque fois que mon application est repeinte, mon texte disparaît.
    Aucun événement Paint ou Validated n'est levé dans ce cas. Donc pas moyen de réafficher mon texte.
    Y aurait-il moyen de fixer mon texte sur le PictureBox ?

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    si tu déssines sur un form, il faut faire le dessin dans l'évènement paint du form (si c'est sur un picturebox, sur l'évènement paint du picturebox ...)

    ou alors faire une image à partir de ton graphics et la mettre en backgroundimage
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Je dessine directement sur le picturebox qui est dans un panel qui est sur un usercontrol. Mais le paint ne se déclenche pas si je passe d'une fenêtre à une autre qui n'a rien à voire avec mon application.
    Je vais essayer de faire une image ou de me crocher sur le paint du usercontrol.
    Merci

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    si tu dessines sur le picturebox et que ca s'efface après, c'est forcément que paint sur le picturebox a été appelé
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Effectivement, tu as raison. Mais, ce que je constate, c'est que le Paint réagit comme s'il s'agissait d'un BeforePaint. C'est à dire que :
    - je dessine ma string sur le picturebox dans le Paint
    - le picturebox est redessiné
    -> résultat : plus de string sur ma picturebox...

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    tu as bien l'appel à base.onpaint avant ton dessin ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Copier texte d'un PictureBox sur un autre PictureBox
    Par sergelagier dans le forum Windows Forms
    Réponses: 12
    Dernier message: 03/05/2013, 16h52
  2. [Lazarus] TStringGrid et texte dans une cellule qui disparaît
    Par koolkris dans le forum Lazarus
    Réponses: 1
    Dernier message: 04/10/2011, 12h12
  3. [HTML 4.0] Texte qui disparaît dans le textarea
    Par jlb59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/09/2011, 19h19
  4. fenêtre qui disparaît lorsque l'on clique ailleurs que sur elle
    Par Thor Tillas dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 17/07/2008, 15h18
  5. Zone de texte qui disparaît
    Par david5 dans le forum Word
    Réponses: 1
    Dernier message: 05/10/2007, 12h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo