Exemplo n.º 1
0
        public static PuntVorm VanString(string s)
        {
            // Formaat: "[vormtype] [verzamelingnummer] [startx] [starty] [eindx] [eindy] [r] [g] [b] [dikte]"
            PuntVorm resultaat;
            char[] separators = { ' ' };
            string[] parameters = s.Split(separators, StringSplitOptions.RemoveEmptyEntries);

            if (parameters.Length != 10)
            {
                //  fout!
                MessageBox.Show(s, "Unreadable line!");
                return null;
            }
            try {
            // Lees verzamelingnummer
            int geladenVerzamelingNummer = int.Parse(parameters[1]);

            // Lees startpunt, eindpunt
            Point geladenStartpunt, geladenEindpunt;
            int x1, y1, x2, y2;
            x1 = int.Parse(parameters[2]);
            y1 = int.Parse(parameters[3]);
            geladenStartpunt = new Point(x1, y1);
            x2 = int.Parse(parameters[4]);
            y2 = int.Parse(parameters[5]);
            geladenEindpunt = new Point(x2, y2);

            // Lees kleur
            int r, g, b;
            r = int.Parse(parameters[6]);
            g = int.Parse(parameters[7]);
            b = int.Parse(parameters[8]);
            Color kleur = Color.FromArgb(r, g, b);
            SolidBrush kwast = new SolidBrush(kleur);

            int geladenDikte = int.Parse(parameters[9]);

            switch (parameters[0])
            {
                case "Lijn":
                    resultaat = new LijnVorm(kwast, geladenStartpunt, geladenEindpunt, geladenDikte, geladenVerzamelingNummer);
                    break;
                case "Kader":
                    resultaat = new KaderVorm(kwast, geladenStartpunt, geladenEindpunt, geladenDikte);
                    break;
                case "Rechthoek":
                    resultaat = new RechthoekVorm(kwast, geladenStartpunt, geladenEindpunt, geladenDikte);
                    break;
                case "GevuldeEllips":
                    resultaat = new VollipsVorm(kwast, geladenStartpunt, geladenEindpunt, geladenDikte);
                    break;
                case "Ellips":
                    resultaat = new EllipsVorm(kwast, geladenStartpunt, geladenEindpunt, geladenDikte);
                    break;
                default:
                    MessageBox.Show(s, "Unreadable line - non-recognised shape!");
                    resultaat = null;
                    break;
            }
            }
            catch
            {
                MessageBox.Show(s, "Onleesbare regel in bestand!");
                resultaat = null;
            }
            return resultaat;
        }
Exemplo n.º 2
0
 public override void MuisLos(SchetsControl s, Point p)
 {
     KaderVorm vorm = new KaderVorm((SolidBrush)kwast, startpunt, p, s.PenDikte);
     s.Schets.Vormen.Add(vorm);
     s.Refresh();
 }