我的应用程序的每个工作区控件都有一个共同点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。
我该怎么做呢?