我的表单上有一个DataGridView(dgv1)。在特定的单元格中,我希望用户能够右键单击并选择“复制”以将单元格的内容复制到剪贴板。任何人都可以指向我的教程或网站的方向,展示如何在C#中实现这一目标吗?
谢谢!
答案 0 :(得分:17)
您可以使用ContextMenuStrip来完成此任务。 (或VSM5之前的ContextMenu)
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;
有关上述链接的更多信息。
答案 1 :(得分:2)
右键单击时,您可能希望为COPY选项创建一个contextmenustrip。
在右键单击事件处理程序的datagridview属性中,您可以链接此contextmenustrip。
在点击副本时,你有另一个功能,你说Clipboard.settext(Datagriditem.value)
此链接可帮助您了解如何获得正确的点击菜单。
right click context menu for datagridview
使用Clipboard.Setdataobject将数据导入剪贴板。