Beispiel #1
0
        private void LoadFigure(string path)
        {
            var DLL = Assembly.LoadFile(path);

            foreach (Type type in DLL.GetExportedTypes())
            {
                if (!ImportedTypes.ContainsValue(type))
                {
                    ImportedTypes.Add(type.Name, type);
                    Button b = new Button();
                    b.Text   = type.Name;
                    b.Width  = 99;
                    b.Height = 32;
                    flowLayoutPanel1.Controls.Add(b);
                    b.Click += new EventHandler(delegate(object sender, EventArgs e)
                    {
                        currentShape = delegate(int startPointX, int startPointY, int endPointX, int endPointY)
                        {
                            var instance = Activator.CreateInstance(ImportedTypes[b.Text], startPointX, startPointY, endPointX, endPointY);
                            return((Figure)instance);
                        };
                    });
                }
            }
        }
Beispiel #2
0
 private void buttonArrow_Click(object sender, EventArgs e)
 {
     currentShape = delegate(int startPointX, int startPointY, int endPointX, int endPointY)
     {
         return(new Shapes.Arrow(startPointX, startPointY, endPointX, endPointY));
     };
 }