using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication2 { public partial class Form1 : Form { bool meine_Zeichnung; List> Punkte; public Form1() { InitializeComponent(); } public void Form1_Load(object sender, EventArgs e) { Punkte = new List>(); this.DoubleBuffered = true; this.MouseDown += new MouseEventHandler(Form1_MouseDown); this.MouseUp += new MouseEventHandler(Form1_MouseUp); this.MouseMove += new MouseEventHandler(Form1_MouseMove); this.Paint += new PaintEventHandler(Form1_Paint); } void Form1_MouseDown(object sender, MouseEventArgs e) { Punkte.Add(new List()); meine_Zeichnung = true; } void Form1_MouseUp(object sender, MouseEventArgs e) { meine_Zeichnung = false; } void Form1_MouseMove(object sender, MouseEventArgs e) { if (meine_Zeichnung) { Punkte[Punkte.Count - 1].Add(e.Location); this.Refresh(); //Löst Paint Ereignis aus } } void Form1_Paint(object sender, PaintEventArgs e) { foreach (List points in Punkte) { if (points.Count > 1) e.Graphics.DrawLines(new Pen(new SolidBrush(Color.Black), 3), points.ToArray()); } } private void zeichnen_Click(object sender, EventArgs e) { serialPort1.Open(); serialPort1.Write("1"); int x = 0; int y = 1; string[] punkt = new string[100000]; string punkte = Convert.ToString(Punkte); punkt = punkte.Split(); string nachricht = serialPort1.ReadLine(); if (nachricht == "Punkt_bitte") { serialPort1.Write(punkt[x]); serialPort1.Write(punkt[y]); x = x + 2; y = y + 2; } if (nachricht == "seriellen_Port_schließen") { serialPort1.Close(); } } private void Anfangsposition_Click(object sender, EventArgs e) { serialPort1.Open(); serialPort1.Write("2"); serialPort1.Close(); } //private void löschen_Click(object sender, EventArgs e) //{ //Graphics grafik = this.CreateGraphics(); //grafik.Clear(this.BackColor); //} } }