我對我的應用程序的每個工作區控制都有一個共同的ContextMenuStrip
。 這個ContextMenuStrip
包含4個項目(「前移」,「移回」和「刪除控制」)。如何擴展現有的ContextMenuStrip?
現在我想擴展它爲一個控件。 這個控件上有一個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
調試離開整個方法的第一個項目是在公共ContextMenuStrip
失蹤。
我該怎麼做?
「Move front」,「move back」和「delete control」= 3項,而不是4. – walther
你究竟想要達到什麼目的?事件發生時,你想添加一個MenuItem到你的ContextMenuStrip? –
我寫了[分隔符]作爲第四項(但像html標籤)。我認爲這就是它消失的原因。 – pinki