How to capture the Copy Event or How to modify default pop-up menu to capture the Copy Event?

Dear. Fellows.

Hello. This is Won.

I have encountered regarding a problem with 'Copy' and 'Paste' events in a Diagram control. Actually, I need to capture Copy event to recognize selected objects for copying. But I cannot find any handle to capture it. At least, I tried to modify Pop-up menu (Operated by Mouse R click) and capture a mouse click event when a user clicks 'Copy' button in a pop-up menu. But both are not accomplished. I could not find any passage to get the Copy Event or Pop-up menu event.

I do not have enough experience as a Syncfusion user (about few weeks). I think there is a way that I did not find. I need you experts helps very much.

Thank you.

1 Reply

SK Swarnesh Krishna Kumar Syncfusion Team August 6, 2015 12:39 PM UTC

Hi Won,
Thanks for using Syncfusion Products.
We suggest you to disable the DefaultContextMenu and create a desired context menu in order to achieve your requirement. We have attached a sample for your reference.
Here is the Code Snippet:
//To disable the DefaultContextMenu
this.diagram2.DefaultContextMenuEnabled = false;

//Creation of Context Menu
System.Windows.Forms.ContextMenu cvp = new System.Windows.Forms.ContextMenu();

cvp.MenuItems.Add("Copy");


//Event while clicking the context menu item

cvp.MenuItems[0].Click += Form1_Click;
diagram2.ContextMenu = cvp;

//Rendering the Mouse Click event
diagram2.MouseClick+=diagram2_MouseClick;

//Capturing the node

void Form1_Click(object sender, EventArgs e)

        {

            diagram2.Controller.Copy();

            IDataObject clipboardData = Clipboard.GetDataObject();

            ClipboardNodeCollection c = (ClipboardNodeCollection)clipboardData.GetData(typeof(ClipboardNodeCollection));

            NodeCollection nodes = c as NodeCollection;

            foreach (Node n in nodes)

            {

                Sel_Node = n;

                Sel_Node.PinPoint = new Point(100, 100);

                diagram2.Model.AppendChild(Sel_Node);

            }


        }
Here is the Sample:
Sample
Please let us know if any concerns.
Regards,
Swarnesh K


Loader.
Up arrow icon