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 :

Traçage d'une ligne entre deux cercle créés?


Sujet :

C#

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Traçage d'une ligne entre deux cercle créés?
    Bonsoir à tous,
    j'ai créé une interface qui cotient 2 boutons:cercle et ligne quand je clique sur le bouton cercle et sur un endroit de la fenetre elle se créé une cercle , je voudrai savoir maintenant comment je peut faire pour tracer une ligne entre chaque deux cercles créés de telle façon que quand je clique sur le bouton ligne puis sur le cercle(ou' j'ai dejà fait le cliquement sur la fenetre pour le dessin de cercle) sans relacher la souris et je me déplace un trait se forme du point ou j'ai cliqué jusqu'au pointeur de ma souris (au niveau de la 2eme cercle) et quand je lache le bouton de la souris le trait est dessiner.
    Je besoin de votre aide svp!
    Merci d'avance.

  2. #2
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Voilà c'est le code que j'ai arrivé à le faire; le probleme du traçage du ligne est presque résolu mais il me reste un petit truc c'est que le traçage du ligne se fait meme que si je clique sur ma formulaire et moi je désire que le traçage se fait seulement à la suite du clique sur le bouton Line je sais pas comment faire et comment corriger mon code je serai reconnaissante si quelqu'un peut m'aider

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    namespace Project
    {
      public partial class Form1 : Form
      {
     
         public Form1()
          {
            InitializeComponent();
            CercleButton.Click += new EventHandler(CercleButton_Click_1);
           LineButton.Click += new EventHandler(LineButton_Click);
          this.MouseDown += new MouseEventHandler(im.clsLine_OnMouseDown);
          this.MouseMove += new MouseEventHandler(im.clsLine_OnMouseMove);
          this.MouseUp += new MouseEventHandler(im.clsLine_OnMouseUp);
            }
        private void CercleButton_Click_1(object sender, EventArgs e)
       {
         this.MouseClick += new MouseEventHandler(Form1_MouseClick);
       }
           private  void Form1_MouseClick(object sender, MouseEventArgs e)
           {
                   this.MouseClick -= new MouseEventHandler(Form1_MouseClick);
                   drawCircle(e.X, e.Y);     
                }
               private void drawCircle(int x, int y)
                {
                    Graphics g;
                    g = CreateGraphics();
                    Rectangle myRectangle = new Rectangle(x, y, 50, 50);
                    Pen myPen = new Pen(Color.Blue, 2);
                    SolidBrush sb1 = new SolidBrush(Color.BlanchedAlmond); 
                    g.FillEllipse(sb1, myRectangle);
                    g.DrawEllipse(myPen, myRectangle);
                    g.Dispose(); //libération de l'objet graphique
                }
                public class clsLine
                {
                  Point ps = new Point();   // ps est le point start
                  Point pe = new Point();  // pe le point end
                  public clsLine();           //constructeur de classe
                  {
     
                  }
               public void clsLine_OnMouseDown(Object sender, MouseEventArgs e)
              {
                  ps.X = e.X;
                  ps.Y = e.Y;
                  pe = ps;       
              }                
     
             public void clsLine_OnMouseMove(Object sender, MouseEventArgs e)
            {
               if (e.Button == MouseButtons.Left)
               {
                 Form thisform = (Form)sender;
                ControlPaint.DrawReversibleLine(thisform.PointToScreen(ps), thisform.PointToScreen(pe), Color.Black);
                pe = new Point(e.X, e.Y);
    ControlPaint.DrawReversibleLine(thisform.PointToScreen(ps), thisform.PointToScreen(pe), Color.Black);
     
                        }
                    } 
       public void clsLine_OnMouseUp(Object sender, MouseEventArgs e)
       {
         Form thisform = (Form)sender;
         Graphics g = thisform.CreateGraphics();
         Pen p = new Pen(Color.Blue, 2);
        ControlPaint.DrawReversibleLine(thisform.PointToScreen(ps),  thisform.PointToScreen(pe), Color.Black);
              g.DrawLine(p, ps, pe);
               g.Dispose();
        }
     
        private void LineButton_Click_1(object sender, EventArgs e)
        {
     
        }
     
      }  
     }
    }

Discussions similaires

  1. Insérer une ligne entre deux autres dans un fichier
    Par c1malabar dans le forum Langage
    Réponses: 8
    Dernier message: 25/05/2011, 19h44
  2. Insérer une ligne entre deux lignes
    Par lecroquant dans le forum Débuter
    Réponses: 6
    Dernier message: 01/10/2010, 12h17
  3. Réponses: 4
    Dernier message: 21/07/2010, 16h18
  4. Tracer une ligne entre deux DIV
    Par akrogames dans le forum jQuery
    Réponses: 1
    Dernier message: 04/05/2009, 20h29
  5. [Dojo] Tracer une ligne entre deux DIV
    Par Invité dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 04/03/2009, 00h54

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