如何ToolStripItemCollection
为ContextMenuStrip
. 我以为会像这样简单
ContextMenuStrip _Menu = new ContextMenuStrip();
public ToolStripItemCollection MenuItems
{
get { return _Menu.Items; }
set { _Menu.Items = value; }
}
但这不起作用。
如何ToolStripItemCollection
为ContextMenuStrip
. 我以为会像这样简单
ContextMenuStrip _Menu = new ContextMenuStrip();
public ToolStripItemCollection MenuItems
{
get { return _Menu.Items; }
set { _Menu.Items = value; }
}
但这不起作用。
相反,在集合中做这样的事情:
public ToolStripItemCollection MenuItems
{
get { return _Menu.Items; }
set
{
_Menu.Items.Clear();
foreach(var elem in value)
{
_Menu.Items.Add(elem);
}
}
}
ToolStripItemCollection
是一种可变类型,这意味着您可以从现有实例中添加和删除项目。
您应该将您的属性设为只读;调用者不应该能够创建集合的新实例来替换旧实例。
如果您希望它与设计器一起使用,您还需要添加[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
.