none
Dessiner dans un PictureBox dynamiquement RRS feed

  • Question

  • Bonjour,

    J'aimerais dessiner une image avec la classe «System.Drawing.Graphics».  J'ai fait des tests rapides en vain.  Voici le code développé:

          // Initialisation
          Graphics g = picChart.CreateGraphics();
    
          // Tentative de dessins
          g.DrawLine(new Pen(Color.Tomato), new Point(10, 10), new Point(50, 50));
    
          // Nettoyage
          g.Dispose();

    picChart est de type PictureBox.  Ce code ne génère rien de visuel.

    Mon but est simplement de dessiner une image fixe jusqu'à ce que la fenêtre parent l'utilisant soit redimensionnée.  Alors je regénère une autre image adapté à l'espace disponible.

    Avis?


    Luc Saucier

    jeudi 16 février 2012 19:02

Réponses

  • Bonjour,

    Vous devez dessiner dans l'événement Paint de votre picChart :

    private void pictureBox1_Paint(object sender, PaintEventArgs e)
    {
        // Tentative de dessins
        e.Graphics.DrawLine(new Pen(Color.Tomato), new Point(10, 10), new Point(50, 50));
    }

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    jeudi 16 février 2012 23:26
    Modérateur
  • Bonjour,

    Pour lier la procédure à l'évènement paint, j'ai tapé le code suivant dans «xxx.Designer.cs»:

          this.picChart.Paint += new System.Windows.Forms.PaintEventHandler(picChart_Paint);

    Est-ce le seul moyen de lier picChart et Paint?  Est-ce qu'il y a une façon plus automatisée?


    Luc Saucier




    vendredi 17 février 2012 14:08

Toutes les réponses

  • Bonjour,

    Vous devez dessiner dans l'événement Paint de votre picChart :

    private void pictureBox1_Paint(object sender, PaintEventArgs e)
    {
        // Tentative de dessins
        e.Graphics.DrawLine(new Pen(Color.Tomato), new Point(10, 10), new Point(50, 50));
    }

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    jeudi 16 février 2012 23:26
    Modérateur
  • Bonjour,

    Pour lier la procédure à l'évènement paint, j'ai tapé le code suivant dans «xxx.Designer.cs»:

          this.picChart.Paint += new System.Windows.Forms.PaintEventHandler(picChart_Paint);

    Est-ce le seul moyen de lier picChart et Paint?  Est-ce qu'il y a une façon plus automatisée?


    Luc Saucier




    vendredi 17 février 2012 14:08