Exemplo n.º 1
0
 private void pictureBox_MouseDown(object sender, MouseEventArgs e)
 {
     if (m_clickHandler != null)
     {
         string statusMessage;
         //"m_clickHandler" wird aufgeruft und das Ergebnis wird in "result" gemerkt
         //Durch die Delegate-Methode "m_clickHandler" hat man einen Zugriff zu den in Kurven (Line,Circle, Polylinie)
         //statischen Funktionen
         ClickResult result = m_clickHandler(e.Location, e.Button,
                                             pictureBox.Height, ref m_currentCurve, out statusMessage);
         //Bei neu Mouse-Klick in der PictureBox
         StatusManager.Instance.SetStatus(statusMessage);
         //Wenn der Befehl abgebrochen wurde(enum ist cancelled) wird lediglich
         //m_currentCurve auf null gesetzt.
         if (result == ClickResult.canceled)
         {
             m_currentCurve = null;
         }
         //Wenn als Ergebnis finished zurückgegeben wird, konnte die Delegatfunktion ein
         //gültiges Curve-Objekt("m_currentCurve") fertigstellen.
         else if (result == ClickResult.finished)
         {
             m_CAD.AddElement(m_currentCurve);
             //Hier muss m_currentCurve wieder auf null gesetzt werden, um einen neuen
             //Durchlauf zu starten.
             m_currentCurve = null;
         }
     }
 }
Exemplo n.º 2
0
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            // adjust coordinate
            SetGraphicsTransformToWorld(e.Graphics);

            draw.Draw(e.Graphics);

            if (toolStripButton2.Checked)
            {
                draw.AddElement(new Line());
            }
            else if (toolStripButton1.Checked)
            {
                draw.AddElement(new Circle());
            }
            else if (btn_Polyline.Checked)
            {
                draw.AddElement(new Polyline());
            }
        }