I have a DataGridView (dgv1) on my form. In a particular cell, I'd like for the user to be able to right-click and choose "COPY" to copy the contents of the cell to the clipboard. Can anyone point me in the direction of a tutorial or site that shows how to accomplish this in C#?
Thanks!
You can use ContextMenuStrip to accomplish this. (Or ContextMenu for pre-VS2k5)
Excerpt from this article:
ContextMenuStrip mnu = new ContextMenuStrip();
ToolStripMenuItem mnuCopy = new ToolStripMenuItem("Copy");
ToolStripMenuItem mnuCut = new ToolStripMenuItem("Cut");
ToolStripMenuItem mnuPaste = new ToolStripMenuItem("Paste");
//Assign event handlers
mnuCopy.Click += new EventHandler(mnuCopy_Click);
mnuCut.Click += new EventHandler(mnuCut_Click);
mnuPaste.Click += new EventHandler(mnuPaste_Click);
//Add to main context menu
mnu.Items.AddRange(new ToolStripItem[] { mnuCopy, mnuCut, mnuPaste});
//Assign to datagridview
dataGridView1.ContextMenuStrip = mnu;
There is more information on the above link.
You might want to create a contextmenustrip for the COPY option when you right click.
And in the datagridview properties in the rightclick eventhandler, you link this contextmenustrip.
And on clicking copy, you have another function where you say Clipboard.settext(Datagriditem.value)
This link should help you figure out how to get the right click menu.
right click context menu for datagridview
And use the Clipboard.Setdataobject to get the data into clipboard.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With