创建UserControl实例的属性(不是新的)
本文关键字:属性 UserControl 实例 创建 | 更新日期: 2023-09-27 18:04:36
我有一个usercontrol,我想要一个属性,可以列出在Windows窗体中相同的usercontrols的所有其他实例。
。我有一个简单的用户控件(侧边栏按钮)。我在UserForm中拖拽了它的2个实例。现在我想要一个属性(在usercontrol本身),可以列出这两个。
我写了这个属性。然而,当在Visual Studio的属性浏览器窗口中使用时,它允许我添加新的实例的sidebarButton控件。
private List<SidebarButton> _sidebarButtons;
[Browsable(true), EditorBrowsable(EditorBrowsableState.Always), Category("Roshan")]
public List<SidebarButton> SidebarButtons
{
get { return this._sidebarButtons; }
set { this._sidebarButtons = value; }
}
如何在此属性中添加我在表单中拖放的2个实例。我知道物业需要修改,但没有明确的方向。请帮帮我。
这样做的一种方法是,在将用户控件添加到表单中时,用户控件通知该类型的所有其他用户控件它现在存在。您的用户控件可以实现如下接口:
public interface INotifiable
{
public void AddToList(INotifiable newButton);
}
当用户控件被添加到表单中时,您遍历所有控件并检查它们是否实现了此接口。如果是,则调用AddToList
方法并将新添加的控件传递给它。