复制粘贴和剪切点击在当前上下文中不存在
本文关键字:上下文 不存在 复制 | 更新日期: 2023-09-27 18:18:32
我以编程方式创建一个上下文菜单,以便在我的数据网格上右键单击选项。下面是我的代码:
public partial class Form1 : Form
{
//string fileExcel;
public Form1()
{
InitializeComponent();
fillCari();
FillCombo();
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;
}
这个特定的块,我一直得到它在当前上下文中不存在的错误。知道为什么吗?
mnuCopy.Click += new EventHandler(mnuCopy_Click);
mnuCut.Click += new EventHandler(mnuCut_Click);
mnuPaste.Click += new EventHandler(mnuPaste_Click);
更新问题:我从上下文菜单中创建了条带,但不知道如何实现复制命令。
public partial class Form1 : Form
{
//string fileExcel;
public Form1()
{
InitializeComponent();
fillCari();
FillCombo();
ContextMenuStrip mnu = new ContextMenuStrip();
dataGridView3.ContextMenuStrip = mnu;
}
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void cutToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void pasteToolStripMenuItem_Click(object sender, EventArgs e)
{
}
我已经想了一段时间了。希望它能在将来对任何人有所帮助。记住,在创建你的contextMenuStrip并添加一个"copy"字段到strip后,你将把它绑定到dataGridView。这是通过进入上下文菜单的属性并查找dataGridView名称并将其绑定到它来完成的。之后,在contextMenu的属性中打开click事件,并在其中添加以下代码:
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
{
dataGridView3.Select();
DataObject o = dataGridView3.GetClipboardContent();
Clipboard.SetDataObject(o);
}
你现在应该有你的右键复制按钮工作
对于click事件,您需要事件处理程序:
// event click
mnuCopy.Click += new EventHandler(mnuCopy_Click);
mnuCut.Click += new EventHandler(mnuCut_Click);
mnuPaste.Click += new EventHandler(mnuPaste_Click);
// event handler method
void mnuPaste_Click(object sender, EventArgs e) {
// paste logic
}
void mnuCut_Click(object sender, EventArgs e) {
// cut logic
}
void mnuCopy_Click(object sender, EventArgs e) {
// copy logic
}