ContextMenuStrip
アプリケーションのすべてのワークスペース コントロールに共通のものがあります。これContextMenuStrip
には 4 つの項目 (「前に移動」、「後ろに移動」、「コントロールを削除」) が含まれます。
今、私はそれを 1 つのコントロールに拡張したいと考えています。このコントロールには があり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
。
どうすればそれを正しく行うことができますか?