创建UserControl实例的属性(不是新的)

时间:2014-05-22 20:30:48

标签: c# .net winforms

我有一个usercontrol,我想要一个可以列出Windows窗体中相同用户控件的所有其他实例的属性。

EG。我有一个简单的usercontrol(sidebarbutton)。我在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个实例。 我知道该物业需要修改,但没有正确的方向。请帮我。

1 个答案:

答案 0 :(得分:0)

这样做的一种方法是,在向表单添加用户控件后,用户控件会通知该类型的所有其他用户控件。您的用户控件可以实现如下界面:

public interface INotifiable
{
    public void AddToList(INotifiable newButton);
}

将用户控件添加到表单后,您将遍历所有控件并检查它们是否实现此接口。如果是,则调用AddToList方法并将新添加的控件传递给它。