.

to do

cut operation +C#

 

public partial class Form1 : Form

    {

        public Form1()

        {

 

 
links to check
http://www.serkey.com/tag/wpf-c-saving-listbox-items/

            InitializeComponent();

 Bitmap = new Bitmap(SystemInformation.WorkingArea.Width, SystemInformation.WorkingArea.Height);           //editted

 

 

            grfx = Graphics.FromImage(Bitmap);          //Editted

 

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

            GraphicsPath path = new GraphicsPath();

            path.AddRectangle(new Rectangle(10, 10, 100, 50));

            this.pathes.Add(path);

 

            path = new GraphicsPath();

            path.AddPolygon(new Point[] {

                new Point(50, 150), new Point(100, 100), new Point(150, 150) });

            this.pathes.Add(path);

 

            path = new GraphicsPath();

            path.AddEllipse(new Rectangle(160, 70, 100, 100));

            this.pathes.Add(path);

 

            this.Paint += new PaintEventHandler(Form1_Paint);

            this.MouseClick += new MouseEventHandler(Form1_MouseClick);

          

            //menu

            this.menu.Items.Add(“Copy”);

            this.menu.Items.Add(“Cut”);

            this.menu.Items.Add(“Paste”);

            this.menu.Items[2].Enabled = false;

            this.menu.ItemClicked += new ToolStripItemClickedEventHandler(menu_ItemClicked);

        }

 

        List<GraphicsPath> pathes = new List<GraphicsPath>();

        GraphicsPath selectedPath = null;

        ContextMenuStrip menu = new ContextMenuStrip();

 

        void menu_ItemClicked(object sender, ToolStripItemClickedEventArgs e)

        {

            switch (e.ClickedItem.Text)

            {

                case “Copy”:

                    if (this.selectedPath != null)

                    {

                        Clipboard.SetDataObject(new GraphicsPathObject(this.selectedPath));

                        this.menu.Items[2].Enabled = true;

                    }

                    break;

                case “Cut”:

                    if (this.selectedPath != null)

                    {

                        GraphicsPathObject pathObject =

                            new GraphicsPathObject(this.selectedPath);

                        Clipboard.SetDataObject(pathObject);

                        this.pathes.Remove(this.selectedPath);

                        this.selectedPath = null;

                        this.Invalidate();

                        this.menu.Items[2].Enabled = true;

                    }

                    break;

                case “Paste”:

                    {

                        IDataObject data = Clipboard.GetDataObject();

                        

                        GraphicsPathObject pathObject = data.GetData(

                            Clipboard.GetDataObject().GetFormats()[0])

                            as GraphicsPathObject;

 

                        GraphicsPath path = new GraphicsPath(pathObject.Points,

                            pathObject.Bytes);

                       

                        this.pathes.Add(path);

                        this.Invalidate();

                        this.menu.Items[2].Enabled = false;

                    }

                    break;

            }

        }

   protected override void OnPaint(PaintEventArgs pe)

        {
            Graphics g = pe.Graphics;

            g.DrawImage(Bitmap, this.AutoScrollPosition.X, this.AutoScrollPosition.Y,Bitmap.Width,Bitmap.Height);   //editted
            base.OnPaint(pe);
        }

 

 

 

 

My doubt is how can i remove selected path while  cut operation using this Bitmap

 

 

Regards,

ALGATES..
 

 

What's your thoughts on this?

*

Protected by WP Anti Spam