我的应用程序的每个工作区控件都有一个共同点ContextMenuStrip
。这ContextMenuStrip
包含 4 个项目(“前移”、“后移”和“删除控件”)。
现在我想为一个控件扩展它。此控件上有一个DataGridView
,我想要一个附加项目来删除选定的DataGridViewRow
.
这是我试过的代码:
private void extendContextMenuOfDataGridViewRow (DataGridViewRow row) {
ContextMenuStrip ctx = new ContextMenuStrip();
foreach (ToolStripMenuItem item in this.ContextMenuStrip.Items) {
ctx.Items.Add(item);
}
ctx.Items.Add(new ToolStripSeparator());
ToolStripMenuItem ctxDeleteRow = new ToolStripMenuItem("Delete row");
ctxDeleteRow.Name = "ctxDeleteRow";
ctxDeleteRow.Click += new EventHandler(ctxDeleteRow_Click);
ctx.Items.Add(ctxDeleteRow);
row.ContextMenuStrip = ctx;
}
foreach
将循环的第一项添加到ctx.Items
调试器后,整个方法将离开整个方法,而第一项在 common 中丢失ContextMenuStrip
。
我该怎么做呢?