Make ToolStripItemCollection Property
本文关键字:Property ToolStripItemCollection Make | 更新日期: 2023-09-27 18:12:23
如何为ContextMenuStrip
创建ToolStripItemCollection
属性?我原以为会这么简单的
ContextMenuStrip _Menu = new ContextMenuStrip();
public ToolStripItemCollection MenuItems
{
get { return _Menu.Items; }
set { _Menu.Items = value; }
}
但是这不起作用
在set中这样做:
public ToolStripItemCollection MenuItems
{
get { return _Menu.Items; }
set
{
_Menu.Items.Clear();
foreach(var elem in value)
{
_Menu.Items.Add(elem);
}
}
}
ToolStripItemCollection
是一个可变类型,这意味着您可以从现有实例中添加和删除项。
你应该把你的属性设置为只读;调用者不应该能够创建集合的新实例来替换旧实例。
如果您希望它与设计器一起工作,您还需要添加[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
。