我有一個包含帶有許多抽頭頁面的選項卡面板的表單。他們每個人都有自己的上下文菜單(右鍵單擊顯示)。但如果我添加一個ToolStripMenuItem到多個ContextMenuStrips,只有最後一個菜單條纔有這個菜單項。 簡單的代碼示例:ToolStripMenuItem for multiple ContextMenuStrip
ToolStripMenuItem tim_refresh = new ToolStripMenuItem("Refresh", null, (o, e) =>
{
MessageBox.Show("Refresh");
});
ContextMenuStrip cms1 = new ContextMenuStrip();
cms1.Items.Add(tim_refresh);
ContextMenuStrip cms2 = new ContextMenuStrip();
cms2.Items.Add(tim_refresh);
this.tblDataManagerObjects.ContextMenuStrip = cms1;
this.tblDataSourceTypes.ContextMenuStrip = cms2;
如果一個顯示此菜單,一個接一個,首先將是空的......我如何能實現我想要什麼?
嗯,有沒有簡單的方法來做一個菜單項的多個副本? – Vasya
克隆它,看到我的SO帖子DeepCopy來源[是否有更好的方式來創建C#中深和淺的克隆](http://stackoverflow.com/a/8025905/485076)。因此,您需要在項目中複製MemoryUtils類,然後爲您的soluwion中的任何對象調用DeepCopy()方法(它是擴展方法,我相信您知道它是什麼) – sll
ToolStripItem未標記爲可序列化。( – Vasya